c# - 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 文件夹中?
解决方案
OctoPack 不是为此目的而设计的(打包库)。它用于打包应用程序和其他可分发文件以与自动部署工具(主要是 Octopus Deploy)一起使用。Octopus之所以选择 NuGet 包格式,是因为它可以通过现有的 NuGet 源和协议轻松分发,而且很方便。但是,它在打包时不遵循官方约定,以允许项目使用库
从文档中:
OctoPack 应该只安装在您要部署的项目上——这意味着控制台应用程序项目、Windows 服务项目和 ASP.NET Web 应用程序。不会选择单元测试、类库和其他支持项目。
我建议你使用另一种方法,比如这个
推荐阅读
- angular - 检查 platform.ready() 不在 Capacitor 应用程序上
- python-3.x - 如何使用for循环根据另一个字典键在字典中查找键值对?
- java - 在将订单添加到数据库之前检查是否满足条件
- c++ - Flawfinder 错误 - 内部缓冲区溢出。如何限制字符串输入大小并防止其溢出?
- salesforce - Salesforce 无法获取文档签名身份验证失败事件
- python - 我正在尝试使用 os.mkdir 创建一个目录
- javascript - React 中的异步函数触发错误:对象作为 React 子项无效(找到:[object Promise])
- php - Highcharts不同颜色@温度线
- arrays - 使用 grep 创建文件名数组
- django - 如何在我的个人资料页面中显示用户模型中的所有数据