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

vez*_*kov 11 .net c# global-assembly-cache copy-local visual-studio-2015

我为这种行为提出了一个连接问题.

VS 2015复制到输出GAC项目引用的引用,而不管复制本地设置如何. VS 2010不会使用相同的解决方案和项目,尊重复制本地属性.到目前为止,我发现的唯一解决方法是Microsoft.Web.Services3.dll在项目A中添加一个直接引用,并将其设置为复制local = false.

重现步骤:

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

实际:

Microsoft.Web.Services3.dll 正被复制到项目A的输出目录中.

预期:

Microsoft.Web.Services3.dll 没有被复制到项目A的输出目录.

知道为什么会这样吗?在MSDN文档中明确指出GAC的依赖不应该被复制到输出和VS 2010尊重这一点.

nin*_*der 2

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

<PropertyGroup>
    <DoNotCopyLocalIfInGac>true</DoNotCopyLocalIfInGac>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)