我试图创造出将Roslyn分析器项目打包到NuGet的好方法。
它需要特定的NuGet包结构,.dll
放入\analyzer\
,而不是\lib\
。
为此,我必须致电nuget pack <name>.nuspec
,而不是nuget pack <name>.csproj
。但是如果我使用nuspec
,则会忽略$ version $ tag。
似乎我唯一的选择是在每次重建时手动更新.nuspec
中的版本。什么是正确的正确的方法来实现这一目标?
答案 0 :(得分:1)
我遇到了同样的问题。我不喜欢在我的csproj文件中添加一个构建后的指令(我不想在每次编译时都构建nuget包),所以我在AppVeyor中配置了“after build script”:
nuget pack "yournuspecfile.nuspec" -Version %APPVEYOR_BUILD_VERSION%
nuspec包含一个虚拟<version>
标记,实际版本在nuget pack
命令中使用%APPVEYOR_BUILD_VERSION%
环境变量provided by AppVeyor
答案 1 :(得分:0)
正确的方法是: