让我们有3个项目。
项目#1 是项目#2 使用的nuget程序包。
项目#2 是项目#3 使用的nuget程序包。它需要使用 Project#1 提供的代码生成实用程序来执行代码生成。
项目#3 是一个应用程序。
项目#1
这些是应该出现在 Project#2 的解决方案资源管理器树中的内容文件。它们不应出现在 Project#1 或 Project#3
我笨拙地尝试将内容文件打包到nuget包的/contentFiles
文件夹中。 我该如何更好地编写代码以实现目标并消除问题?
糟糕。内容文件错误地出现在这里。 如何阻止这种情况发生?
需要打包到dll中的库代码。应该由 Project#2 和 Project#3
项目#2
正确引用项目#1
内容文件正确显示,并且自定义工具正确运行以执行代码生成。
我不希望内容文件出现在 Project#3 中,因此我很笨拙地试图以此阻止它们。 如何使它更好(最好是自动)?我不能使用<PrivateAssets>all</PrivateAssets>
,因为.dll文件需要传递给 Project#3 。
Visual Studio补充说,当我添加安装了 Project#1 的软件包时。有趣。 这是什么?
项目#3
使用PackageReference(2)引用项目#2
此内容文件如何到达这里! 我如何摆脱它?这也引起了编译错误:(