首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建带有项目引用的NuGet包时不使用版本后缀

创建带有项目引用的NuGet包时不使用版本后缀
EN

Stack Overflow用户
提问于 2017-04-02 22:54:45
回答 1查看 671关注 0票数 2

我最近将我的.NET核心项目从project.json迁移到了.csproj。该解决方案包含多个项目,其中一些项目使用ProjectReference引用项目。

代码语言:javascript
复制
    <ItemGroup>
        <ProjectReference Include="..\RawRabbit\RawRabbit.csproj" />
    </ItemGroup>

我有一个我长期使用的PowerShell脚本,它遍历项目文件夹并为每个项目创建NuGet包

代码语言:javascript
复制
dotnet pack -c Release -o ..\..\artifacts --version-suffix=$buildSuffix

其中,$buildSuffix类似于beta7。版本后缀在所有项目依赖项之间共享,这意味着所有项目依赖项都是为预发布使用相同的版本后缀(在本例中为beta7)。

为了使包获得正确的版本后缀,我更新了csproj,以便我的项目使用VersionPrefix而不是Version

代码语言:javascript
复制
    <PropertyGroup>
        <VersionPrefix>2.0.0</VersionPrefix>
    </PropertyGroup>

NuGet包获得了正确的版本号(例如2.0.0-beta7),但是nuspec文件(在nupkg文件中)中的项目依赖项被引用,而没有在构建过程中使用的VersionSuffix

代码语言:javascript
复制
<dependencies>
  <group targetFramework=".NETStandard1.5">
    <dependency id="RawRabbit" version="2.0.0" exclude="Build,Analyzers" />
  </group>
</dependencies>

这是有问题的,因为我新创建的预发布版本依赖于一个不存在的版本(在本例中是2.0.0而不是2.0.0-beta7)。

我真的不确定这是否是预期的行为,如果是这样的话:我会如何配置我的构建,使其在创建NuGet包时遵守VersionSuffix

EN

回答 1

Stack Overflow用户

发布于 2017-04-02 22:59:29

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43169772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档