包装在发布模式下编译的NuGet项目?

有没有办法使用在发布模式下编译的代码创建NuGet包? 还是有一些原因,我应该只发布(在本地提供)在调试模式下编译的软件包?

每次我从我的项目目录下调用nuget pack ,在那里我有下面的nuspec文件,代码我只在发布模式下编译,它抱怨在调试文件夹中找不到DLL( "binDebugSomeProject.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>

你可以这样解决: NuGet.exe pack Foo.csproj -Prop Configuration=Release (参考)。


如果您正在使用后构建事件并且想要使用Debug或Release配置创建包,则可以像这样设置构建后事件命令行:

"<path to nuget tools>NuGet.exe" pack "$(ProjectPath)" -Prop Configuration=$(ConfigurationName)

要在运行nuget pack时让NuGet自动使用发布模式,请执行以下操作:

  • 在文本编辑器中打开.csproj文件。
  • 找到以下行:

    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    
  • 在这一行中,将Debug替换为Release
  • 保存更改。
  • 链接地址: http://www.djcxy.com/p/62271.html

    上一篇: Packing NuGet projects compiled in release mode?

    下一篇: Download old version of package with nuget