有没有办法使用在发布模式下编译的代码来创建NuGet包?或者是否有一些原因我应该只发布(在本地使用,在这种情况下可用)在调试模式下编译的包?
每次我nuget pack从我的项目目录中调用时,我在下面的nuspec文件,在代码我只在发布模式下编译,它抱怨没有在调试文件夹("\bin\Debug\SomeProject.dll")中找到DLL .如果我在调试模式下编译它,那些文件就在那里并按照它应该将它们打包.
<?xml version="1.0"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>$id$</id>
<version>$version$</version>
<authors>$author$</authors>
<owners>$author$</owners>
<iconUrl>http://somewhere/project.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>$description$</description>
</metadata>
</package>
Run Code Online (Sandbox Code Playgroud)
Gio*_*rgi 196
你可以解决这个问题是这样的:NuGet.exe pack Foo.csproj -Prop Configuration=Release(参考).
End*_*gin 16
如果您正在使用构建后事件并且想要使用Debug或Release配置创建包,则可以设置构建后事件命令行,如下所示:
"<path to nuget tools>\NuGet.exe" pack "$(ProjectPath)" -Prop Configuration=$(ConfigurationName)
Run Code Online (Sandbox Code Playgroud)
要使NuGet在运行时自动使用发布模式,请执行nuget pack以下操作:
.csproj在文本编辑器中打开文件。找到以下行:
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
Run Code Online (Sandbox Code Playgroud)Debug用Release。| 归档时间: |
|
| 查看次数: |
27919 次 |
| 最近记录: |