使用.net core(project.json)我曾经通过将源代码的路径添加到global.json中的projects字段来在nuget包和源代码之间切换.在我这样做之后,它将添加它可以在该路径中找到的所有项目,这些项目可以替换我引用的nuget包.
我使用了这个功能,因为我使用了自己的nuget包,但是我想在发布之前测试其他项目中的更改.但是一旦我切换到Sdk 1.0.0 / VS 2017 / csproj .net核心,这个功能似乎就消失了.
另一种方法是手动添加每个项目,手动切换引用(因为它们被分解为项目,nuget和sdk引用),然后将它们全部切换回来.
任何想法或建议都会很棒.
更新:
听起来像csproj中没有等价物(正如预期的那样),但现在有msbuild的解决方法(截至最初的VS 2017 / .NET Core SDK 1.0.0版本)
解决方法
是的,我也已经习惯了这个功能并围绕它构建了我的工作流程.我仍然在寻找解决方案,但我现在正在尝试在csproj文件中使用条件逻辑.既然它现在是msbuild,你可以这样做:
<Choose> <When Condition="Exists('..\..\..\MyProject')"> <ItemGroup> <ProjectReference Include="..\..\..\MyProject\src\MyProject\MyProject.csproj" /> </ItemGroup> </When> <Otherwise> <ItemGroup> <packagereference Include="MyProject" Version="1.0.0" /> </ItemGroup> </Otherwise> </Choose>
这将使用条件替换对包的硬引用,如果它可以找到源代码(在本例中是目录),则使用项目引用,如果不能找到包引用.
原文地址:https://www.jb51.cc/netcore/251934.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。