未通过 NuGet 连接的库被放入项目目录的 dll 文件夹中。添加了指向它们的链接,一切正常,但是在 Visual Studio 中构建时,错误列表中会发出警告
程序集 'dll\My.dll' 被错误地列为文件。
MsBuild 想从我这里得到什么,我该如何摆脱警告?
.csproj 片段:
<Reference Include="My">
<HintPath>dll\My.dll</HintPath>
</Reference>
...
...
<Content Include="dll\My.dll" />
Build Action这一行说这个文件有一个Content. MSDN 上的错误描述与我在此答案中找到的 BuildAction=Content 值无关。错误描述
如果生成过程遇到对实际上是托管程序集或本机库的文件的引用,则会发出此警告。
值 描述
Build Action=Content添加使用
Application.GetContentStream(URI). 该文件必须放置在与当前构建相同的文件夹中。但是,您可以在此处找到建议更改
Build Action为None. 这不是公认的答案,但它的赞成票数最高。我无法重现类似的错误并验证答案。但我在这个博客中找到了它的确认。
这次我尝试了别的东西。我将构建操作设置为无,并将如果更新选项设置为生成此警告的每个 dll 的副本。
这似乎有助于消除警告,而且可以编译和运行程序。
所以我建议你尝试设置
Build Action=None. 这很可能有助于解决问题。由于我没有本地化的工作室界面,因此我附上了屏幕截图,以防将来的读者需要有关如何在工作室中找到此属性的提示。您需要在解决方案资源管理器(Solution Explorer)中突出显示该文件,然后其属性将在此窗口中可用。