I've been having some problems when trying to compile the portable version of FSharp.Core from the f# source code.
To help with this, I created some project files to be able to open it inside Visual Studio instead of having to use the following command:
msbuild fsharp-library-build.proj /p:TargetFramework=portable-net4+sl4+wp71+win8
When I open FSharp.Core.Portable.sln
from here, I get this very weird error:

There is no such targeting pack for VS2012, it's supposed to come out of the box.
I had this issue recently. It turned out that I was importing the wrong targets file at the bottom of the project.
To get it to work, I replaced it with this:
<Import Project="$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.Portable.FSharp.Targets" />
ZachBray pointed me at the problem. (after I got a project that wouldn't work)
I compared it with a new Portable Class Library and the problems is solved.
For most C# PCL's it the following line will work:
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
(so at the end in the project file, replace the 'Import' element for this one or a newer one)
来源:https://stackoverflow.com/questions/14935479/missing-targeting-pack-for-netframework-version-v4-0-profile-profile47