我会自动将我的C#项目的输出(.exe文件)打包在一些nuget包中。当前,我具有项目级的nuget软件包(这意味着我可以将此软件包安装在依赖项目的package.config文件中)。该软件包的结构:
/lib/net40/myexe.exe
/lib/net40/myexe.dll
/myexe.nuspec
..等等。
我将其转换为解决方案级别的程序包,因此可以将其安装到其他解决方案中,但无需将myexe.dll添加到引用中。因此,根据nuget文档,“如果软件包的lib,content或build目录中不包含任何文件,则该软件包被视为解决方案级别的软件包。”
我在.nuspec文件中声明了文件部分:
<files>
<file src="..\build\$id$.exe" target="bin\" />
</files>
但是我仍然有以下nupkg结构:
/lib/net40/myexe.exe
/lib/net40/myexe.dll
/bin/myexe.exe
/bin/myexe.dll
/myexe.nuspec
如何避免在我的软件包中使用/ lib /目录?
解决的办法是设置工具标志:
nuget pack <PackageProject.csproj> -outputDirectory <OutputDirectory> -BasePath <OutputDirectory> -Tool
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句