加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-core – .net core(csproj)global.json’projects’等价

发布时间:2020-12-16 00:18:14 所属栏目:asp.Net 来源:网络整理
导读:使用.net core(project.json)我曾经通过将源代码的路径添加到global.json中的projects字段来在nuget包和源代码之间切换.在我这样做之后,它将添加它可以在该路径中找到的所有项目,这些项目可以替换我引用的nuget包. 我使用了这个功能,因为我使用了自己的nuget
使用.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="......MyProjectsrcMyProjectMyProject.csproj" />
        </ItemGroup>
    </When>
    <Otherwise>
        <ItemGroup>
            <PackageReference Include="MyProject" Version="1.0.0" />
        </ItemGroup>
    </Otherwise>
</Choose>

这将使用条件替换对包的硬引用,如果它可以找到源代码(在本例中是目录),则使用项目引用,如果不能找到包引用.

因此,默认情况下,您将引用该程序包,但如果要调试其中一个项目,请在条件检查的位置进行检查,并将项目添加到解决方案中.

这样,您只需要在包含源代码时更改解决方案文件(通过添加项目),而不是重新布线所有项目引用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读