
Therefore your assembly may not be correctly targeted for the framework you intend. Global Assembly Cache (GAC ) and will be used in place of reference assemblies. Note that assemblies will be resolved from the Version or retarget your application to a version of the framework for which you have
Mono framework install#
To resolve this, install the SDK or Targeting Pack for this framework If you try and build with dotnet build on Linux at this point, you'll see an error something like the following: /usr/share/dotnet/sdk/2.1.700/ (1175,5 ):Įrror MSB3644: The reference assemblies for framework ".NETFramework,Version=v4.6.1" Rename the TargetFramework element to TargetFrameworks and add the extra targets: netstandard2.0 net461 net472 csproj file that looks something like this: netstandard2.0 NET Core class library using dotnet new classlib, which will give a. This is really good news - all you need to build libraries that target full. #dotnet #dotnetcore - Muhammad Rehan Saeed 2 June 2019
Mono framework mac#
NET Framework on Linux & Mac via Mono with official support. I was completely unaware of the NuGet until I saw this tweet by Muhammad Rehan Saeed: Retrieving reference assemblies from NuGet with This is what Microsoft have provided with the package. We just need a way of easily getting the reference assemblies to compile against. But as Jon Skeet points out in this comment, Mono isn't actually required. props file sets the FrameworkPathOverride MSBuild variable to the Mono reference assemblies which is how we are able to build.
Mono framework how to#
In a previous post I showed how to work around this for Linux by installing Mono and using the assemblies it provides. NET framework targets mean the library can theoretically only be built on Windows.

NET Framework targets to avoid issues with the. NET Standard 1.x too then add that in to the mix, the important point is to include the two. NET Standard, then you need the following target frameworks at a minimum: netstandard2.0 net461 net472

There's a lot of DOs and DON'Ts there, but I tend to boil it down to the following: if you're targeting any version of. NET Standard NuGet packages, and you want to provide the best experience for your users ( and avoid some dependency hell) then you'll want to check out the advice on cross-platform targeting. NET Framework libraries on Linux, add the following to your project file: Background: Building full-framework libraries on Linux By using the new NuGet packages from Microsoft you don't need to install anything more than the. NET Framework versions on Linux, without using Mono.
