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

打包在发布模式下编译的NuGet项目?,nuget,Nuget,是否有某种方法可以使用在发布模式下编译的代码生成NuGet包?还是有什么原因我应该只发布(在本例中是本地可用的)在调试模式下编译的包 每次我从我的项目目录调用nuget pack,我在下面有nuspec文件,关于我只在发布模式下编译的代码,它都会抱怨在调试文件夹中找不到DLL(“\bin\debug\SomeProject.DLL”)。如果我在调试模式下编译它,那么这些文件就在那里,它会按照它应该的方式打包它们 $id$ $version$ $author$ $author$ http://s

是否有某种方法可以使用在发布模式下编译的代码生成NuGet包?还是有什么原因我应该只发布(在本例中是本地可用的)在调试模式下编译的包

每次我从我的项目目录调用
nuget pack
,我在下面有nuspec文件,关于我只在发布模式下编译的代码,它都会抱怨在调试文件夹中找不到DLL(
“\bin\debug\SomeProject.DLL”
)。如果我在调试模式下编译它,那么这些文件就在那里,它会按照它应该的方式打包它们


$id$
$version$
$author$
$author$
http://somewhere/project.png
假的
$description$

您可以这样解决:

NuGet.exe pack Foo.csproj -Prop Configuration=Release

()

如果您正在使用生成后事件,并且希望创建一个包,无论是使用调试配置还是发布配置,都可以按如下方式设置生成后事件命令行:

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

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

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

    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    
    调试
    
  • 在这一行中,将
    Debug
    替换为
    Release
  • 保存更改

  • 这里的答案是好的,但是对于一个.NET标准项目,我遇到了很多问题。我有一个项目只打算发布发行版二进制文件,但它没有遵守我的默认构建输出路径

    我将此添加到我的CSProj中,这使我能够使用接受的答案

    
    $(SolutionDir)bin\$(平台目标)\Release
    
    对于任何想从链接中获得短篇小说的人(尽管阅读效果不错),从v1.3到v1.4有一个更改,从默认版本更改为默认版本,从只能在项目文件中直接修改的项目设置(无VS GUI选项)中提取。为了避免对所有未来的
    nuget-pack
    调用进行命令行属性调整,在您最喜欢的文本编辑器中编辑项目文件XML。是否有办法将版本和调试版本打包在一个包中,然后让我的项目自动使用调试版本和版本,具体取决于我是否处于调试和发布解决方案配置中?@JD:据我所知,这是不可能的,但我正在考虑对此做出贡献努吉。您能解释一下在哪种情况下需要此功能吗?什么时候会有帮助?如果你只是想为你的软件包添加调试符号,你可以在*.nuspec(例如,
    )中包含你的PDB文件,或者在你的DLL软件包旁边。@J.D.我还想同时打包调试和发布,我发现: