What is .NET Multi-Targeting Pack?
Installing Visual Studio installs a bunch of .Net packages called
- .NET x Targeting Pack
- .NET x Multi-Targeting Pack
- .NET x Multi-Targeting Pack (ENU)
Where "x" stands for the .Net version number it supports. What are these packages for?
Solution 1:
It can be best explained by the following description.
A multi-targeting pack, or MT pack, is a set of reference assemblies that corresponds to a particular .NET Framework platform and version. A reference assembly is a .NET Framework assembly that typically has no method bodies and no internal or private APIs. Reference assemblies contain just the information a compiler needs.
For example, there are multi-targeting packs for the .NET Framework 3.5, the .NET Framework 4, Update 4.0.x for the .NET Framework 4, the .NET Framework 4.5, Windows Phone 7.5, Windows Metro style apps, Portable Class Library, and so on.
Visual Studio installs a set of multi-targeting packs, and so do SDKs such as the Visual Studio SDK, the Silverlight SDK, and the Windows Phone SDK. Typically, multi-targeting packs are installed under
“%ProgramFiles(x86)%\Reference Assemblies\Microsoft\Framework”
or“%ProgramFiles%\Reference Assemblies\Microsoft\Framework”
on a 32-bit computer).
The following image from Microsoft provides clarity to the above description.
Do I need these packages if I only want to use Visual Studio to make WP10 Mobile applications?
If you only are going to target Windows Phone 10 then having the packages installed isn't required to publish your application to the Windows Store. You can't target unsupported versions of the .NET Framework, and publish your application to the Windows Store, which means that all your assemblies will be compiled against the same version of the .NET Framework anyways.
Source: Multi-Targeting Guidelines for Tools for Managed Code [Mircea]