MSBuildSdkExtras | Extra properties for MSBuild SDK projects | Form library
kandi X-RAY | MSBuildSdkExtras Summary
kandi X-RAY | MSBuildSdkExtras Summary
MSBuildSdkExtras is a C# library typically used in User Interface, Form, Xamarin applications. MSBuildSdkExtras has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.
This package contains a few extra extensions to the SDK-style projects that are currently not available in Microsoft.NET.Sdk SDK. This feature is tracked in dotnet/sdk#491 and many of the scenarios are on the roadmap for .NET 6. The primary goal of this project is to enable multi-targeting without you having to enter in tons of properties within your csproj, vbproj, fsproj, thus keeping it nice and clean. See the blog post for more information.
This package contains a few extra extensions to the SDK-style projects that are currently not available in Microsoft.NET.Sdk SDK. This feature is tracked in dotnet/sdk#491 and many of the scenarios are on the roadmap for .NET 6. The primary goal of this project is to enable multi-targeting without you having to enter in tons of properties within your csproj, vbproj, fsproj, thus keeping it nice and clean. See the blog post for more information.
Support
Quality
Security
License
Reuse
Support
MSBuildSdkExtras has a low active ecosystem.
It has 331 star(s) with 46 fork(s). There are 21 watchers for this library.
It had no major release in the last 12 months.
There are 53 open issues and 132 have been closed. On average issues are closed in 30 days. There are 2 open pull requests and 0 closed requests.
It has a neutral sentiment in the developer community.
The latest version of MSBuildSdkExtras is v3.0.44
Quality
MSBuildSdkExtras has 0 bugs and 0 code smells.
Security
MSBuildSdkExtras has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
MSBuildSdkExtras code analysis shows 0 unresolved vulnerabilities.
There are 0 security hotspots that need review.
License
MSBuildSdkExtras is licensed under the MIT License. This license is Permissive.
Permissive licenses have the least restrictions, and you can use them in most projects.
Reuse
MSBuildSdkExtras releases are available to install and integrate.
Installation instructions, examples and code snippets are available.
Top functions reviewed by kandi - BETA
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of MSBuildSdkExtras
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of MSBuildSdkExtras
MSBuildSdkExtras Key Features
No Key Features are available at this moment for MSBuildSdkExtras.
MSBuildSdkExtras Examples and Code Snippets
No Code Snippets are available at this moment for MSBuildSdkExtras.
Community Discussions
Trending Discussions on MSBuildSdkExtras
QUESTION
How to set up a UWP class library with the new csproj format with MSBuild.Extras?
Asked 2020-Jul-13 at 03:10
I'm trying to create a class library that uses UWP controls (the lower the version the better), and I want it to use the new csproj format.
I figured MSBuild.Sdk.Extras is what I'm after. After reading the Readme I did the following:
- I created a .NET Standard class library project and replaced its content with the following:
ANSWER
Answered 2020-Jul-13 at 03:10This worked:
Community Discussions, Code Snippets contain sources that include Stack Exchange Network
Vulnerabilities
No vulnerabilities reported
Install MSBuildSdkExtras
Visual Studio 2017 Update 6 (aka v15.6) includes support for SDK's resolved from NuGet, which is required for this to work. VS 2019 is recommended.
Create a new project .NET Core console app or .NET Standard class library. With your existing SDK-style project. With the templates in the repo's TestProjects folder.
Replace Microsoft.NET.Sdk with MSBuild.Sdk.Extras to the project's top-level Sdk attribute.
You have to tell MSBuild that the Sdk should resolve from NuGet by Adding a global.json containing the Sdk name and version. Appending a version info to the Sdk attribute value.
Then you can edit the TargetFramework to a different TFM, or you can rename TargetFramework to TargetFrameworks and specify multiple TFM's with a ; separator.
It will only work with an IDE that uses the desktop msbuild (i.e. Visual Studio) and the target Platform SDKs which are not cross platform.
When using JetBrains Rider, you will need to point to your desktop MSBuild in your settings (Settings > Build, execution, deployment > Use MSBuild Version)
When building from the CLI, you must use MSBuild.exe. dotnet build will not work for most project types.
It might work in Visual Studio Code, but you have to configure build tasks in launch.json to use desktop msbuild to build.
You must install the tools of the platforms you intend to build. For Xamarin, that means the Xamarin Workload; for UWP install those tools as well.
Make sure to use TargetFrameworks instead of TargetFramework, even if you're only building a single target framework. I am piggy-backing off of its looping capabilities.
Set the RuntimeIdentifiers property to valid RID's (full list), separated by a semi-colon (<RuntimeIdentifiers>win;unix</RuntimeIdentifiers>).
For the TFM's that you want want to build separately, set the ExtrasBuildEachRuntimeIdentifier property to true.
You must use the Sdk="MSBuild.Sdk.Extras" method for this. Using PackageReference is unsupported for this scenario.
While the Visual Studio context won't show each RID, it'll build for each.
The Extras defines a preprocessor symbol for each RID for use (win-x86 would be WIN_X86 and centos.7-x64 would be CENTOS_7_X64). Dots and dashes become underbars.
The default path for per-RID output assemblies and symbols in NuGet package is runtimes/<RuntimeIdentifier>/lib/<TargetFramework>.
RuntimeIdentifiers can be set per-TargetFramework using a condition on the property. This lets you have multiple TFM's, but only some of which have RID's.
Create a new project .NET Core console app or .NET Standard class library. With your existing SDK-style project. With the templates in the repo's TestProjects folder.
Replace Microsoft.NET.Sdk with MSBuild.Sdk.Extras to the project's top-level Sdk attribute.
You have to tell MSBuild that the Sdk should resolve from NuGet by Adding a global.json containing the Sdk name and version. Appending a version info to the Sdk attribute value.
Then you can edit the TargetFramework to a different TFM, or you can rename TargetFramework to TargetFrameworks and specify multiple TFM's with a ; separator.
It will only work with an IDE that uses the desktop msbuild (i.e. Visual Studio) and the target Platform SDKs which are not cross platform.
When using JetBrains Rider, you will need to point to your desktop MSBuild in your settings (Settings > Build, execution, deployment > Use MSBuild Version)
When building from the CLI, you must use MSBuild.exe. dotnet build will not work for most project types.
It might work in Visual Studio Code, but you have to configure build tasks in launch.json to use desktop msbuild to build.
You must install the tools of the platforms you intend to build. For Xamarin, that means the Xamarin Workload; for UWP install those tools as well.
Make sure to use TargetFrameworks instead of TargetFramework, even if you're only building a single target framework. I am piggy-backing off of its looping capabilities.
Set the RuntimeIdentifiers property to valid RID's (full list), separated by a semi-colon (<RuntimeIdentifiers>win;unix</RuntimeIdentifiers>).
For the TFM's that you want want to build separately, set the ExtrasBuildEachRuntimeIdentifier property to true.
You must use the Sdk="MSBuild.Sdk.Extras" method for this. Using PackageReference is unsupported for this scenario.
While the Visual Studio context won't show each RID, it'll build for each.
The Extras defines a preprocessor symbol for each RID for use (win-x86 would be WIN_X86 and centos.7-x64 would be CENTOS_7_X64). Dots and dashes become underbars.
The default path for per-RID output assemblies and symbols in NuGet package is runtimes/<RuntimeIdentifier>/lib/<TargetFramework>.
RuntimeIdentifiers can be set per-TargetFramework using a condition on the property. This lets you have multiple TFM's, but only some of which have RID's.
Support
Important: 3.x of the Extras requires the .NET 5 SDK or later. The SDK can build previous targets, like netcoreapp3.1. The extras 2.x supports SDK 2.x and 3.x.
Find more information at:
Reuse Trending Solutions
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
Find more librariesStay Updated
Subscribe to our newsletter for trending solutions and developer bootcamps
Share this Page