无论复制本地设置如何,VS 2015都会复制到项目引用的GAC引用

时间:2015-09-18 08:48:14

标签: c# .net visual-studio-2015 global-assembly-cache copy-local

我为这种行为提出了connect issue

无论复制本地设置如何,

VS 2015都会复制到项目引用的GAC个引用。 VS 2010使用相同的解决方案&项目,尊重复制本地财产。 到目前为止,我发现的唯一解决方法是在项目A中添加对Microsoft.Web.Services3.dll的直接引用,并将其设置为复制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尊重该问题。

1 个答案:

答案 0 :(得分:2)

当我从VS2013迁移到VS2015时,我遇到了与几个第三方GAC程序集相似的问题。我的解决方案是进入每个.csproj文件并添加以下内容:

<PropertyGroup>
    <DoNotCopyLocalIfInGac>true</DoNotCopyLocalIfInGac>
</PropertyGroup>