当在位于不同目录中的不同解决方案之间使用共享项目时,我遇到了nuget数据包管理问题。其中一个解决方案是使用nuget,另一个则不是。 问题是数据包管理器在.csproj文件中添加一行:
现在由于nuget数据包管理仅在共享项目中使用,因此问题的解决方案是将$(SolutionDir)更改为$(ProjectDir)。这现在可以解决问题。
现在每当重新启动启用了nuget数据包管理的解决方案时,它会自动将相同的行(如上图所示)添加到共享项目.csproj文件中,这会再次破坏从其他解决方案加载项目。
如何防止自动生成该import子句,还是有任何其他优雅的解决方案?
答案 0 :(得分:1)
在不使用NuGet的解决方案中启用NuGet包还原应解决您的问题(右键单击解决方案,启用包还原)。虽然你没有在该项目中使用NuGet,但打开该选项并没有什么坏处。
我个人尝试从不从多个解决方案中引用相同的项目,而是将它们转换为私有的NuGet包。像这样开发可能有点痛苦,因为您需要创建新包,然后将其安装到您的其他项目中。但它解决了许多其他令人头疼的问题,例如您目前正在使用的问题,并且开发人员在办理登机手续时会意外破坏其他项目。