我在Visual Studio 2017中创建了一个带有Code Fix(.NET Standard)的Analyzer类型的.NET项目 . 由此项目类型创建的分析器可以部署为NuGet包或VSIX扩展 . 我在项目属性中使用了 Generate NuGet Package on Build
设置,它工作非常顺利,没有任何问题 .
问题是,现在我想为创建的NuGet包添加一些依赖项 . 我知道这可以通过.nuspec文件用于其他情况 . 但是在这个项目类型中,VS在bin文件夹中创建了NuGet包,并且没有任何.nuspec文件 .
那么如何在上面的场景中为创建的NuGet包添加依赖项呢?
1 回答
在使用new .csproj format的Visual Studio 2017中,NuGet依赖项会根据
.csproj
文件的PackageReference
自动复制到NuGet包中 .因此,您需要做的唯一额外事情就是将NuGet中的这些依赖项添加到您的项目中 . 这可以通过以下方式完成
手动编辑项目文件(在解决方案资源管理器中右键单击项目并选择
Edit <projectName>.csproj
)通过NuGet软件包管理器安装NuGet软件包
通过更新.nupkg文件更改依赖关系
或者,由于
.nupkg
文件只是具有不同扩展名的.zip
文件,因此您可以更改其内容:使用标准zip实用程序将其解压缩到临时目录
在临时目录中,修改其
.nuspec
文件的内容,并根据需要添加其他依赖项再次压缩临时目录的内容
重命名新的
.zip
文件,为其指定扩展名.nupkg