10

私はその動作に対してconnect issueを発行しました。コピーローカル設定に関係なく、プロジェクト参照のGAC参照を出力するためにVS 2015がコピーされます

VS 2015コピーローカル設定に関係なく、プロジェクトリファレンスの参照GACの出力をコピーします。 VS 2010は、コピーローカルプロパティを尊重して同じソリューション&プロジェクトではそうしません。 私が今までに見つけた唯一の回避策は、プロジェクトAのMicrosoft.Web.Services3.dllへの直接参照を追加し、それをcopy local = falseに設定することです。

再現手順:

Project A 
|__ Project B (Project Reference, copy local = true) 
    |__Microsoft.Web.Services3.dll (GAC, copy local = false) 

実際:

Microsoft.Web.Services3.dllは、プロジェクトAの出力ディレクトリ期待

にコピーされていますMicrosoft.Web.Services3.dllはプロジェクトAの出力ディレクトリにコピーされていません。

これはどうして起こりますか? MSDN documentationには、GACの依存関係を出力にコピーしないでください。VS 2010には、そのことが明確に記載されています。

+0

FYI、VS2013もそれを尊重しました(少なくとも私の場合)。私はおそらくそれを移行する前にVS 2015へのアップデート1を待つでしょう。 –

+0

あなたのビルドプロセスを中断する前に、うまく待ってください:) – vezenkov

+1

まず、MSBuildがどのようにそのDLLを見つけることができたかを知る必要があります。 Bのビルドディレクトリには存在しないようにしてください。 MSBuildの冗長性を詳細に変更し、取得したトレースから関連する行をポストします。 –

答えて

1

私がVS2013からVS2015に移動したとき、私はいくつかのサードパーティGACのアセンブリで同様の問題に遭遇しました。私の解決策は、各.csprojファイルに入って、次のように追加することでした。

<PropertyGroup> 
    <DoNotCopyLocalIfInGac>true</DoNotCopyLocalIfInGac> 
</PropertyGroup> 
+0

この質問は数か月前のものだったようです。私は、他の場所で答えられる可能性が高い質問に答える前にそれをチェックするべきだと思います。 –

関連する問題