PackageReference 和 PackageReference 到同一项目

PackageReference and PackageReference to same project

提问人:ProgShiled 提问时间:11/15/2023 更新时间:11/17/2023 访问量:18

问:

假设我有一个库项目 (ProjA) 和第二个使用 projA 的项目 (projB)。 ProjA 作为 nuget 包发布。这两个项目都有自己的 git 存储库

在 projB 中,我引用了 projA 的 nuget 包

但是,当我想对两个项目添加一些更改或检查库实现中的某些内容时,我将 projA 添加到 projB 中的解决方案文件夹中(使用:add>Existing project)。然后,我需要添加对 projA 的项目引用,并注释掉或删除带有对 projA 的 nuget 引用的行。

是否有任何解决方案可以让我在不手动更改引用的情况下处理这两个项目?

是否可以在开发过程中使用项目引用,并在已发布的项目中使用 nuget 包引用? 也许,在 csproj 文件中或在 csproj 文件中使用某些条件?

C# 参考 csproj

评论

1赞 Marc Gravell 11/15/2023
也许两者兼而有之,分别有和?Condition=" '$(Configuration)' == 'Debug'"Condition=" '$(Configuration)' != 'Debug'"
0赞 ProgShiled 11/16/2023
Thaks 很多,这个 conditioon 完美运作
1赞 Lasse V. Karlsen 11/17/2023
只需确保不要尝试使用旧的 nuget 包发布版本,然后可以轻松执行此操作。可以使用库项目的最新更改进行调试,然后在生成要部署/发布的版本时,使用 nuget 包。此时,需要确保库项目已生成并部署为新的 nuget 包版本,并且应用程序项目已更新为使用新的 nuget 包版本。

答:

1赞 Marc Gravell 11/17/2023 #1

也许:

<ProjectReference Condition="'$(Configuration)' == 'Debug'".../>
<PackageReference Condition="'$(Configuration)' != 'Debug'".../>