缺少“.NETFramework,Version = v4.0,Profile = Profile47”的定位包

时间:2013-02-18 11:42:29

标签: f# visual-studio-2012 portable-class-library

我在尝试编译portable version of FSharp.Core from the f# source code时遇到了一些问题。

为了解决这个问题,我创建了一些项目文件,以便能够在Visual Studio中打开它,而不必使用以下命令:

msbuild fsharp-library-build.proj /p:TargetFramework=portable-net4+sl4+wp71+win8

当我从here打开FSharp.Core.Portable.sln时,我发现了这个非常奇怪的错误:

Error

VS2012没有此类定位包,it's supposed to come out of the box

2 个答案:

答案 0 :(得分:0)

我最近遇到过这个问题。事实证明我在项目底部导入了错误的目标文件。

为了让它发挥作用,我将其替换为:

<Import Project="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.Portable.FSharp.Targets" />

答案 1 :(得分:0)

ZachBray指出了我的问题。 (在我得到一个无法工作的项目之后)

我将它与一个新的可移植类库进行了比较,问题就解决了。

对于大多数C#PCL来说,以下行将起作用:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />

(所以在项目文件的最后,替换这个或更新的&#39;导入&#39;元素)