2017-04-02 66 views
2

我最近將我的.NET Core項目從project.json遷移到.csproj。該解決方案包含多個項目,其中一些參考項目使用ProjectReference使用項目引用創建NuGet包時不支持版本後綴

<ItemGroup> 
     <ProjectReference Include="..\RawRabbit\RawRabbit.csproj" /> 
    </ItemGroup> 

我有一個PowerShell腳本,我已經很長一段時間,橫穿該項目的文件夾,並創建的NuGet包每個項目

dotnet pack -c Release -o ..\..\artifacts --version-suffix=$buildSuffix 

哪裏$buildSuffix有點像beta7。版本後綴在所有項目依賴項之間共享,這意味着所有項目依賴項都針對預發佈版使用相同版本後綴(本例中爲beta7)。

爲了使包以獲得正確的版本後綴,我讓我的項目都是使用VersionPrefix而不是Version

<PropertyGroup> 
     <VersionPrefix>2.0.0</VersionPrefix> 
    </PropertyGroup> 

的NuGet包得到正確的版本號已經更新了的csproj(如2.0.0-beta7 ),但nuspec文件(在nupkg文件中)中的項目依賴關係在構建期間沒有使用VersionSuffix而被引用。

<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的任何想法?

回答

相關問題