Webアプリケーションを作成しています。私はMSBuild.exeを使ってVSプロジェクトを動的にコンパイルするのが好きです。これは、ローカルマシンを実行するときに効果的です。しかし、私がIISで設定したとき、同じ実装はうまくいきません。私はIISがいくつかのアクセス許可を制限するかもしれないと思う。しかし、明確ではない。ASP.Netで.csprojをプログラムでコンパイルできない
ISコンパイル中に私が得たエラー、
CSC:エラーCS1504:ソースファイル 'C:\ WINDOWS \の一時\のSilverlightのバージョン= v4.0.AssemblyAttributes.cs' の開くことができませんでした( '・アクセス拒否されました。 ')注:私はSilverlightプロジェクトをコンパイルしています。また、上記のエラーは、コード1
コードは、プロジェクトをコンパイルして終了したプロセスの標準出力、
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = MSBuildPath;
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.RedirectStandardOutput = true;
startInfo.Arguments = "\"" + file.FullName + "\"" + " /t:Rebuild /p:Configuration=Release";
this.process = Process.Start(startInfo);
このための任意の解決策はありますか?
アプリケーションプールアカウント(おそらくデフォルトのIISユーザーアカウント)にc:\ Windows \ Tempフォルダを読み取る権限がありますか? –
はい私はここで説明したようにhttp://learn.iis.net/page.aspx/624/application-pool-identities/を行いました。 –