What is needed to compile a .net standard (1.0) project on an Team City agent. Is there an SDK for .net Standard?
I know that there is an SDK for .net core, but I want to build a .net standard project that has nothing to do with .net core.
Please don't answer with: "install Visual Studio" ;-)
Thanks in advance.
The same SDK that can build .NET Core Applications can also be used to build .NET Standard libraries.
The ".NET Core SDK" is a distribution of a .NET Core based MSBuild version, the MSBuild assets needed to build .NET "sdk-based" project files, a version of NuGet and the .net CLI which provides commands like dotnet build. On windows, it can even build .NET Framework applications (with some limitations).
Alternatively, you can use the version of MSBuild that Visual Studio or Mono 5 include (mono 5 just can't create nupkgs from library projects at the moment).
.NET standard is a subset of .NET Core. To build any .NET core or .NET standard application you need to install the CLI tools on your TeamCity agent. You can get them here: https://www.microsoft.com/net/core#windowscmd
Or you can use Chocolatey to install them:
choco install dotnetcore-sdk
Related
What can be the reason that install is greyed out?
Microsoft Istaller projects 2022 is installed. Solution can build without problems.
It's an old project where .net Framework 4.0 is used.
I'm just guessing, but it might be that .NET Framework 4.0 is deprecated and support was removed. You can't even install it via the Visual Studio Installer's Individual Components. The lowest 4.x targeting pack version I could install is 4.6.
Try installing the latest .NET Framework targeting pack and then re-target the project to use that.
I have a .Net desktop project that targets .net V5. I added a MSTest project to write some tests but the highest version of .Net that I can target seems to be 4.8. How do I target .net 5.0 on my testing project? My project that I need to test references .Net 5.
You need to add a .net core test project.
.net 5.0 is not .net framework. Since you added a framework project, it only allows you to choose up to 4.8 which is the latest .net framework version.
You can find a guide for the console version creation here: create test project
Or follow the visual studio guide
I'm trying to install a Nuget package that targets .NetStandard 2.0 (Microsoft.Extensions.Logging.Abstractions) into a Net 4.6.1 project in Visual Studio 2015. However, while Frameworks should be compatible, it doesn't quite work:
Install-Package : Could not install package 'Microsoft.Extensions.Logging.Abstractions 2.0.0'. You are trying to
install this package into a project that targets '.NETFramework,Version=v4.6.1', but the package does not contain
any assembly references or content files that are compatible with that framework. For more information, contact
the package author.
At line:1 char:1
+ Install-Package Microsoft.Extensions.Logging.Abstractions
I've followed the steps outlined here: Entity Framework Core 2.0 on .NET 4.6.1
So I have installed package "NETStandard.Library.NETFramework", and added
<PropertyGroup>
<PackageTargetFallback>netstandard2.0</PackageTargetFallback>
</PropertyGroup>
to the csproj. But, no luck there - still the same issue.
Is there any way to install a NetStandard 2.0 package into my project (without upgrading VS or installing any Net Core targeting packs or such)?
Thanks
Referencing .NET Standard 2.0 packages is supported using the following:
NuGet 3.6.0 or higher for VS 2015 (from NuGet's download site - may not yet be listed as recommended latest)
Install the ".NET Standard Support for Visual Studio 2015" from https://aka.ms/netstandard-build-support-netfx (NuGet in VS will also print a link to this in its output window).
There are a still few bugs when consuming .NET Standard 2.0 libraries, especially when mixing .NET Standard < 2.0 and 2.0 libraries but these updates give basic support.
Is there any way to install a NetStandard 2.0 package into my project (without upgrading VS or installing any Net Core targeting packs or such)?
I am afraid not. Just like Jon pointed out that the reason for that issue is that you are using Visual Studio 2015.
According to the .NET Standard, .NET Standard 2.0 support .NET Framework 4.6.1 (with .NET Core 2.0 SDK):
So we need install .NET Core 2.0 SDK. And every communication from Microsoft about the preview of .NET Core 2.0 mentions Visual Studio 2017, so I think it's highly recommanded to use Visual Studio 2017 to work with .NET Core 2.0.
Besides, the NuGet package NETStandard.Library.NETFramework is deprecated.
So install a .NetStandard 2.0 Nuget package into a Net 4.6.1 project, I highly recommanded to use Visual Studio 2017 to work with .NET Core 2.0.
Hope this helps.
I try to load an existing project (not mine) that I get from TFS and I got an error telling me that I need .NET Framework 4.6.1 to load it.
So I downgraded it to 4.6, successfully load it, install .NET Framework 4.6.1 but I can't make my project target on 4.6.1.
The link where I get .NET framework
I'm on Windows 7 and I use Visual Studio Community 2017.
You may need to install the developer pack. It looks like you may have just installed the runtime. You can find the .NET Framework 4.6.1 developer pack here.
First of all, The Winform application is based on .Net Framework 1.1. I have 1.1 SDK installed but 1.1 is not listed in the Target Framework(VS 2010 Beta 2) so I cannot choose the same, the minimal available is 2.0. Am I supposed to install an add-on or something for building 1.1 apps in VS 2010 beta2. Further more, I am using a Clickonce deployment publish method. I am not sure if 1.1 supports ClickOnce deployment. Please advise on both these fronts. Thanks a Lot
.NET 1.x is not supported by VS2010 (or any future versions). You'll have to use VS2002 or VS2003 for that.
ClickOnce is only supported for .NET 2.0 or later.
.Net 1.1 isn't supported on VS 2010. I don't even thing it was supported on VS 2005 or 2008. I've always had a VS 2003 install in a VM for 1.1 maintenance stuff.
Here you can find a way to create your project in .net 1.1 with VS 2008. And I think this is last version of the VS you can use to create your projects in .net 1.1
If you have an application that uses e.g. an app pool using .Net 1.1, compiling for .Net 2.0 simply isn't an option.
You should just build your code with .NET 2.0, assuming there's some reason why you can't build it with .NET 3.5.