0

2 つのプロジェクト A と B があるとします。プロジェクト B の出力は C:\Proj_B の dll です。csproj ファイルのプロジェクト A は、プロジェクト B アセンブリのタスクを使用します。

<UsingTask TaskName="Task_B" AssemplyFile="C:\Proj_B\B.dll" />

プロジェクトAをコンパイルした後、VS2008は「C:\Proj_B\B.dll」ファイルをVS2008が閉じるまでロックするため、ファイルがロックされているため、プロジェクトBをコンパイルできません。これを解決するアイデアはありますか?

PS: ProcessExplorer によって見つかったロッカー プロセス devenv.exe

PS2: MSBUILD を介したコンパイルは問題ありません。VS コンパイルはこの問題を引き起こします。

4

2 に答える 2

0

正常な動作のように見えます。

VSはdllを独自のAppDomainにロードするため、VSを閉じた後にのみ解放できます。

奇妙ですが、本当です..

于 2013-06-03T07:39:27.237 に答える