首页 > 解决方案 > Nuget 说由于 .NET Framework 不兼容而无法安装 octopack 创建的 nuget

问题描述

我正在使用 TeamCity 和 Octopack 构建一个简单的库,因为我们希望这个库可以与多个其他项目共享。

我正在成功构建它,并且 .nupkg 文件具有以下内部格式。

   ./{DLLName}.dll
   ./{DLLName}.pdb

由于需要与旧版应用程序兼容,这些库被编译为 .NET Framework 4.0。这些项目肯定被设置为编译为 .NET Framework 4.0。

我认为问题在于包应该使用如下格式构建。

lib/{DLLName}.dll
lib/{DLLName}.pdb

我如何让 octopack 将内容放在这样的 lib 文件夹中?

标签: c#nuget-packageoctopus-deploy

解决方案


OctoPack 不是为此目的而设计的(打包库)。它用于打包应用程序和其他可分发文件以与自动部署工具(主要是 Octopus Deploy)一起使用。Octopus之所以选择 NuGet 包格式,是因为它可以通过现有的 NuGet 源和协议轻松分发,而且很方便。但是,它在打包时不遵循官方约定,以允许项目使用库

文档中:

OctoPack 应该只安装在您要部署的项目上——这意味着控制台应用程序项目、Windows 服务项目和 ASP.NET Web 应用程序。不会选择单元测试、类库和其他支持项目。

我建议你使用另一种方法,比如这个


推荐阅读