Msbuild.sdk.extras Does Not Seem To Work In Vs2017 For Mac

Msbuild.sdk.extras Does Not Seem To Work In Vs2017 For Mac Rating: 3,1/5 9285 reviews
  1. Msbuild.sdk.extras Does Not Seem To Work In Vs2017 For Mac

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode. Please join us on and in the and organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links. Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future. Please create a new report on or with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Tim Uy 2017-06-09 04:54:46 UTC Created Project does not support framework.NET Framework 1.0 I am trying to make a Xamarin.iOS10-specific project using the new VS2017 csproj format. Xamarin.iOS10 (Actually, what I ultimately want is Xamarin.Mac.) I have seen several examples that apparently add Xamarin.iOS10 to the TargetFrameworks list. When I try to do this in VS2017 for Mac, I get this error: Project does not support framework.NET Framework 1.0. It is as if it is ignoring 'Xamarin.iOS' and thinking that I am asking for net10. Matt Ward 2017-06-10 11:06:49 UTC There is no easy workaround to allow xamarin.mac to be used as the target framework. You could probably do it by writing an addin that indicates that xamarin.mac is a supported framework with a project extension.

'allow their MSBuild imports to be included without having to add them yourself in the project file'. This would require a custom sdk and associated msbuild imports. I do not believe you could just copy the existing Xamarin.Mac MSBuild imports since they would presumably need changes.

Taking the Microsoft.NET.Sdk as an example, the project uses Sdk='Microsoft.NET.Sdk', this basically says import the Sdk.props and Sdk.targets from: /Library/Frameworks/Mono.framework/Versions/Current/lib/mono/msbuild/15.0/bin/Sdks/Microsoft/Sdk The Sdk.props and Sdk.targets imports the various things that the project needs to compile. Note that in the future the.NET Core sdk files will be resolved. Currently with VS for Mac 7.0 we use the files that ship with Mono.

Matt Ward 2017-06-29 15:17:13 UTC So the only thing I can do on the VSMac side is allow any target framework. However that by itself does not really help. The project will load but it will be using an odd target framework. With.NET Core SDK 2.0 installed the target framework is unknown and the TargetFrameworkMoniker is resolved to ,Version=1.0. If you install MSBuild.Sdk.Extras the target framework is now recognised. However the build fails.

Xamarin.iOS10 (DisplayMissingLanguageTargetsError target) - /.nuget/packages/msbuild.sdk.extras/1.0.0/build/netstandard1.0/MSbuildSdkExtras.Common.targets(116,5): error: The specified language targets for Xamarin.iOS10 is missing. Matt Ward 2017-07-20 09:23:45 UTC How to get this working is probably a question for Ankit who looks after MSBuild on Mono. The MSBuild.Sdk.Extras for Xamarin.iOS defines: $(MSBuildExtensionsPath) Xamarin iOS Xamarin.iOS.$(ExtrasLanguageName).targets Then it does a check to see if that file exists: true $(LanguageTargets) Then an error is displayed since it cannot find the file at: /Library/Frameworks/Mono.framework/Versions/5.4.0/lib/mono/xbuild/Xamarin/iOS/Xamarin.iOS.CSharp.targets Whilst MSBuildExtensionsPath has multiple values when it is used in the Exists check it seems to take the first value. So the Exists check fails here since the first path does not contain the Xamarin MSBuild targets for iOS.

Ankit Jain 2017-07-20 15:27:38 UTC So, msbuild (=15.0) and xbuild support a feature which adds fallback search paths for `$(MSBuildExtensionsPath)`,.when. used in an `Import`. And the path used for fallback on mac is `/Library/Frameworks/Mono.framework/External/xbuild`. So, when you have - This will first expand that string with `MSBuildExtensionsPath = ` - If it can't find it there, then it will try looking under the fallback path. And Xamarin.iOS targets are always installed under the fallback path and not the default one. This works.only.

if the string `$(MSBuildExtensionsPath)` appears in the `Project` attribute of the `Import` element! So, if you have. Then only the default path will be used to look for the project, which will fail to find the Xamarin.iOS ones. Unfortunately, this feature hasn't been documented yet, which I intend to fix soon.

Msbuild.sdk.extras does not seem to work in vs2017 for mac

Meanwhile, for more details on the feature see.

Msbuild.sdk.extras Does Not Seem To Work In Vs2017 For Mac

With the move from project.json to the new csproj format introduced with VS2017, I'm struggling to understand the difference between the dotnet cli and the new msbuild and when to use one over the other. 1) To build a new csproj netstandard library from the command line, should I be calling the dotnet cli (for example dotnet restore dotnet build) or use msbuild (for example msbuild ExampleNetstandard.sln). 2) Also, my understanding is that there are two versions of msbuild, one built on the full framework and another targeting dotnet core. Is this correct? Should I always use the dotnet version 3) Is dotnet cli standalone or does it require msbuild to be installed? For instance when you install the dotnet SDK does this install msbuild as well? If so is this different to the version that is installed with vs2017?