.Net 2.0 和 msbuild 2.0 的 Octopack

Posted

技术标签:

【中文标题】.Net 2.0 和 msbuild 2.0 的 Octopack【英文标题】:Octopack for .Net 2.0 and msbuild 2.0 【发布时间】:2015-06-11 16:28:19 【问题描述】:

我正在设置一些项目来构建 NuGet 包并推送到 NuGet 服务器,以便以后可以由 Octopus Deploy 使用。

在我需要将相同的流程应用于遗留项目之前,一切都很好。错误是:

错误 MSB4062:无法从程序集 ...\OctoPack.Tasks.dll 加载“OctoPack.Tasks.CreateOctoPackPackage”任务。无法加载文件或程序集“file:///...\OctoPack.Tasks.dll”或其依赖项之一。此程序集由比当前加载的运行时更新的运行时构建,无法加载。确认声明正确,并且程序集及其所有依赖项均可用。

现在我知道 OctoPack 不是为 .Net 2.0 构建的,但只是想知道是否有人遇到/解决了这个问题。

【问题讨论】:

【参考方案1】:

您能否将应用程序的构建目标从 2.0 更改为更新的版本?如果是这样,我会升级我的应用程序,而不是寻找降级版本的 Octopack。

或者,you can use NuGet.exe 创建包而不是使用 OctoPack。我实际上更喜欢 OctoPack,但 NuGet.exe 不会关心您的 .NET 版本。

【讨论】:

很遗憾我无法更改应用程序,更不用说它是超过 20 个应用程序。【参考方案2】:

我最终修改了 Octopack 代码以与 .Net 2.0 和 MSBuild 2 一起使用,该代码已成功应用于打包在 CruiseControl 服务器上的所有 .Net 2.0 和 3.5 应用程序。

如果有人遇到类似情况,这里是the amended code(来自原始 Octopack)

【讨论】:

以上是关于.Net 2.0 和 msbuild 2.0 的 Octopack的主要内容,如果未能解决你的问题,请参考以下文章

.NET Framework 3.5 的 .NET Framework 2.0 SDK 的等效项是啥?

MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 “4.0“

Asp.Net 2.0 PostBackUrl 的问题

.NET 紧凑框架向后兼容 3.5 和 2.0

Netcore 2.0 发布未复制 SDK dll

如何创建面向 .NET 2.0 和 .NET Standard 的库?