4

我们有一个名为 WWW 的项目,它引用了同一解决方案中名为 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>

在区分大小写的情况下,我还尝试了排列:真、真和真

此外,我尝试在 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 输出目录?

4

0 回答 0