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

问题描述 投票:1回答:1
<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文件没有被复制到输出目录。更令人恼火的是,我已经将相同的代码行添加到类似的项目中,并且只有一个文件被复制到输出中。

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

c# visual-studio msbuild csproj
1个回答
1
投票

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

根据你的描述,我用目标框架Console App (.NET Core)创建了一个.net core 2.0,将你的代码片段添加到.csproj文件中。所有Dll文件都复制到输出目录,没有任何错误。

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

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

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

enter image description here

为确保相对路径正确,我们可以手动添加dll文件:右键单击Dependencies-> Add reference-> Browse->选择dll文件并添加它。

输出路径:

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

如果以上信息也没有帮助您调试此问题,请分享更多信息给我们,例如,项目类型,.csproj文件或此项目的任何其他特殊设置。

© www.soinside.com 2019 - 2024. All rights reserved.