当前位置:  开发笔记 > 前端 > 正文

Nuget 3 - Octopack - 错误的框架目标错误

如何解决《Nuget3-Octopack-错误的框架目标错误》经验,为你挑选了1个好方法。

我正试图解决这个问题.我的环境:

VS2015

Nuget扩展3.3.0.167

Octopack包3.0.45.

当我在下面运行以下命令时,正确生成了包:

 v4.0.30319\msbuild PackagingTest.sln /t:Rebuild
/p:Configuration=Release /p:RunOctopack=true
/p:OctoPackPackageVersion=1.1.1/p:OctoPackPublishPAckageToFileShare=C:\Packages

但是当我尝试在第二个项目中安装软件包时,我得到了以下异常:

无法安装包'PackagedLibrary 1.1.1'.您正在尝试将此软件包安装到以".NETFramework,Version = v4.5"为目标的项目中,但该软件包不包含与该框架兼容的任何程序集引用或内容文件.有关更多信息,请与软件包作者联系.

两者都针对相同的框架(4.5).

如果从包中提取库并引用它,就没有什么奇怪的了.

如果你从VS2013添加包,它可以很好地工作.

我注意到Octopack版本(从v3端点https://api.nuget.org/v3/index.json下载)具有Nuget.exe v.2.8,而不是它应该的3.xxx.所以我试图手动替换nuget.exe文件来生成包,没有任何更改.

我错过了什么线索?

提前致谢



1> Matt Ward..:

据我所知,使用Octopack将生成一个NuGet包(.nupkg),只能用于OctopusDeploy.它不会生成可由Visual Studio中的NuGet使用的NuGet包.

虽然Octopus Deploy使用.nupkg文件,但.nupkg文件中的文件结构却不同.为了能够将.nupkg安装到.NET 4.5项目中,需要在lib \net45目录中进行组装.如果您查看.nupkg内部,很可能没有此目录,但可能只有.nupkg根目录中的程序集.

如果要将.nupkg文件与NuGet一起使用,则应该使用NuGet.exe来生成.nupkg文件.

原因可能与Visual Studio 2013一起使用的是它将它视为解决方案级别的NuGet包,Visual Studio 2015目前不支持它.

推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有