VS 2013:由于dnxcore50依赖

时间:2015-10-15 10:43:48

标签: visual-studio-2013 visual-studio-2015 nuget-package portable-class-library metrolog

我的系统上安装了VS 2013和VS 2015。

借助VS 2013 ,我目前正在开发Profile 111 PCL项目。 PCL目标对话框如下所示:

enter image description here

我正在尝试添加一个 NuGet 包(MetroLog),其中包含许多平台的专用程序集,一个Profile 259 PCL程序集, 便携式net45 + WP8 + win81 + wpa81

由于Profile 111以Profile 259的子集为目标,因此应该可以在我的Profile 111项目中安装此 NuGet 包。但是,它没有!这是我得到的错误消息:

enter image description here

因此,NuGet安装程序因此期望NuGet包中的可移植组件也以 dnxcore50 为目标!

如果我查看Profile 111支持的框架列表( C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETPortable \ v4.5 \ Profile \ Profile111 \ SupportedFrameworks ),确实包含了对应于 dnxcore50 ASP.NET Core 5.0 的目标(我想这是最近更新VS 2015的结果?)。

但是,为什么这会影响我在我的Profile 111项目中从NuGet引用PCL Profile 259库的能力?

而且,除了从Profile 111支持的frameworks文件夹中手动删除 ASP.NET Core 5.0.xml 文件之外,我还能做些什么来覆盖NuGet安装的这种行为吗?

注1 MetroLog 包(版本0.8.9)中便携式程序集的库规范实际上是不正确的。它声明 win81 是目标,但它应该真正声明 win win8 wincore45 。但是,我已在本地修改了 .nupkg 文件,但更改为正确的 Windows 8 规范并不足以使NuGet可访问。

注意2 在VS 2015中尝试相同任务时, ASP.NET Core 5.0 会显示在PCL目标设置中,并在选择与Profile关联的其他目标时111, Change Targets 对话框通知 ASP.NET Core 5.0 将自动添加到支持的目标列表中。在尝试安装 MetroLog NuGet软件包时,错误消息是 MetroLog 不包含与PCL Profile 111兼容的任何配置文件。不同的路径,相同的最终结果......

更新在VS 2015中,我发现唯一的问题是 portable 文件夹路径中的 win81 规范无效。这是否已更改为有效的PCL配置文件111目标,即 win8 (或等效的 win netcore45 ),我可以使用我的Profile 259项目中的NuGet包。在VS 2015中,只要正确指定了子组件,NuGet组件就可以充分识别PCL配置文件,无论是否列出 dnxcore50

0 个答案:

没有答案