csproj中引用的程序集不会复制到输出目录

时间:2017-12-23 12:05:53

标签: c# visual-studio msbuild csproj

<ItemGroup>
    <Reference Include="Microsoft.WindowsAzure.Configuration">
        <HintPath>..\Microsoft.WindowsAzure.Configuration.dll</HintPath>
        <Private>true</Private>
    </Reference>
    <Reference Include="Microsoft.WindowsAzure.Storage">
        <HintPath>..\Microsoft.WindowsAzure.Storage.dll</HintPath>
        <Private>true</Private>
    </Reference>
</ItemGroup>

原因是因为我不希望all assemblies from all .NET Core to get copied到我的输出文件夹。

现在,在Visual Studio中将Copy Local设置为Yes等于<Private>true</Private>文件中的csproj

问题是,这些DLL文件没有被复制到输出目录。更令人恼火的是,我已将相同的代码行添加到类似的项目中,并且只有一个文件被复制到输出中。

这可能是什么问题?我该如何调试?我确保这些文件存在且相对路径正确。

1 个答案:

答案 0 :(得分:1)

  

这可能是什么问题?我该如何调试?我确保这些文件存在且相对路径正确。

根据您的说明,我创建了一个带有目标框架Console App (.NET Core)的{​​{1}},并将您的代码段添加到.net core 2.0文件中。所有Dll文件都复制到输出目录,没有任何错误。

要调试此问题,我建议您可以仔细检查Dll文件的相对路径(虽然您已确定)和输出路径:

要仔细检查Dll文件的相对路径

由于您直接将dll文件引用到项目中,因此可以检查程序集是否存在黄色警告符号:

enter image description here

要确保相对路径正确,我们可以手动添加dll文件:右键单击.csproj - &gt; Dependencies - &gt; Add reference - &gt;选择dll文件并添加它。

输出路径:

.net核心项目的默认输出路径应为:Browse。将bin\Debug\netcoreapp2.0\设置为Copy Local后,dll文件将复制到文件夹Yes。如果dll文件没有复制到该文件夹​​,请检查项目的输出路径:Properties-&gt; Build-&gt; Output path。

如果以上信息也无法帮助您调试此问题,请与我们分享更多信息,例如项目类型,bin\Debug\netcoreapp2.0\文件或此项目的任何其他特殊设置。