即使使用Copy Local标志(<private> true </private>),也不会将dll复制到输出目录

时间:2013-08-19 17:30:30

标签: dll visual-studio-2012 msbuild msbuild-4.0

我们有一个名为WWW的项目,该项目在同一个名为Framework的解决方案中引用了另一个项目。

Framework使用Nuget,它依赖于另一个名为iSynaptic的Nuget包。

Framework.csproj xml说:

<Private>true</Private> 

并且Visual Studio UI说

Copy Local = True. 

但是,当我重建解决方案时,WWW / bin不包含iSynaptic.Core的dll。

以下是参考的完整xml:

<Reference Include="iSynaptic.Core">
  <HintPath>..\packages\iSynaptic.Core.0.1.3\lib\iSynaptic.Core.dll</HintPath>
  <Private>true</Private>
</Reference>

我也尝试了区分大小写的排列:true,True&amp; TRUE

此外,我尝试在Framework中添加一个虚拟类文件,该文件显式使用iSynapticCore.dll中的类

using iSynaptic;
using iSynaptic.Core;

namespace Framework.Bootstrap
{    
    public static class Dummy
    {
        public static int GetCode()
        {
            return iSynaptic.HashCode.MixJenkins32(0);
        }
    }
}

我找到了创建一个继承dll类的类的示例。但不幸的是,iSynaptic.Core中没有一个类是公开的。

我还尝试通过visual studio删除和重新添加引用,以及手动重新添加xml。

我也尝试使用visual studio将Copy Local设置为false,然后保存,然后将Copy Local设置为true,然后保存。

我检查了GAC,并且未在GAC中加载程序集

我尝试从命令行构建Visual Studio 2012和MSBuild:

%windir%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe /target:Clean,Rebuild

有什么想法可能导致dll无法复制到构建时的WWW / bin输出目录?

0 个答案:

没有答案