【发布时间】:2014-09-15 06:07:43
【问题描述】:
我在 Azure 中部署了一个解决方案,发现 Microsoft.Threading.Tasks 丢失并且应用程序无法加载。
我引用的一个项目中我使用了可移植的东西
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Bcl" version="1.1.9" targetFramework="portable-net45+sl50+win+wp80" developmentDependency="true" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="portable-net45+sl50+win+wp80" developmentDependency="true" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="portable-net45+sl50+win+wp80" developmentDependency="true" />
<package id="Microsoft.Net.Http" version="2.2.22" targetFramework="portable-net45+sl50+win+wp80" developmentDependency="true" />
<package id="Newtonsoft.Json" version="6.0.3" targetFramework="portable-net45+sl50+win+wp80" />
</packages>
我将它们标记为developmentDependency,这样我的主要项目不包括这些便携式设备。我的印象是 .NET 4.5 应用程序不需要可移植包,因为它们已经在 .NET 的核心中,而 BCL 的东西只在构建时才需要。
我的假设是错误的吗?我是否仍应在我的 .NET 4.5 应用程序中包含 Microsoft.Bcl.Build 和 Microsoft.Bcl.Async?
【问题讨论】:
-
如果您的目标是 4.5,为什么还要包括
Microsoft.Bcl.Async?这些包将允许 .NET 4.0 项目访问 .NET 4.5 功能(async/await 和其他一些调用)。 -
便携式库需要它们能够支持非 4.5 项目的功能。门户项目 B 依赖于上面的东西,我的库 A 依赖于 B 并且是 4.5,我想知道为什么我的 4.5 应用程序也需要上面的东西。
标签: .net azure portable-class-library base-class-library