0

从 packages.config 迁移到 PackageReferences(.NET4.5 项目)后,构建(msbuild)被破坏。

错误 CS0246:找不到类型或命名空间名称“anynugetpackage”(您是否缺少 using 指令或程序集引用?)

使用 VisualStudio 进行构建可以完美运行。所以我做了一些研究,发现包的恢复也适用于 msbuild。

该问题仅存在于未正确应用 PackageReference 引用的共享项目 (.shproj) 中。

一种解决方法是添加对 PackageReference 的库的修复引用,但是像这样,与 packages.config 相比,我失去了 PackageReference 的所有优势

您可以查看项目和不同的解决方案(分支):

packages.config
PackageReference
PackageReference 解决方法

有关构建和错误日志,请参阅 github 操作。

有没有更好的处理方法?

4

1 回答 1

0

添加ProjectReferenceto.projitems确实有效。

.shproj不是由.csproj. 仔细检查.csproj以查看实际导入的文件。


我建议对可以添加到解决方案的包引用使用单独的项目文件。Visual Studio 做得不好,它会询问您是否要在外部编辑时覆盖该文件,并且不允许我将 .projiitems 添加为解决方案项。

于 2022-02-03T22:28:12.727 回答