我知道自从msbuild15(vs 2017)发布以来,NuGet现在已经完全集成到msbuild中。
我有一个nuspec文件,其中定义了包属性的变量,如:
<metadata>
<id>$id$</id>
<version>$version$</version>
<authors>$authors$</authors>
...
</metadata>
nuspec文件位于项目的同一文件夹中。
使用nuget工具创建包时,它工作正常。
nuget pack
msbuild -version
15.8.168.64424
msbuild /t:pack /p:configuration=release /p:NuspecFile=mylib.nuspec
引发异常:
C:\Program Files\dotnet\sdk\2.1.402\Sdks\NuGet.Build.Tasks.Pack\Build\NuGet.Build.Tasks.Pack.targets(199,5):错误:值不能为null或空字符串。
奇怪的是,dotnetsdkversion2.1.402引发了一个异常。
我用vs2017安装了msbuild,并尝试了它的路径,它也引发了相同的异常。
问题
这是msbuild版本15.8.168.64424中的错误还是我遗漏了什么?
换句话说,msbuild能否支持使用包的元数据变量?。