VS2010 project in VS2012 - different version of .net 4? - visual-studio-2010

I have read that opening a vs2010 project in vs2012 is fine (as long as you are using VS2010 SP1) it will not update the project files and those on VS2010 SP1 will not have problems using it: http://visualstudiomagazine.com/articles/2012/03/01/more-power.aspx
However I have heard that the version of .net 4 is higher when using vs 2012 than with vs2010 (I don't mean .net 4.5 by the way). Is this correct and could it cause problems with a release on a development machine being tested against a different version of the .net 4 framework? It sounds a bit unlikely to me.
thanks
Adam

The answer is not simple. All the details can be found here
There are many different types of projects in VS, and some don't require upgrades, some are compatible but require upgrades, and some are simply not compatible. It depends on the project type.
Also, to answer your question about the .net versions, 4.5 is considered an "in place" upgrade. This means once you've installed 4.5, it replaces 4 completely. So, once you've installed 4.5 you use that any time you target 4.

Several bugs has been fixed with .NET 4.5, so suddenly you cannot reproduce bugs that people experience in live-environment (WinXP/Win2k3 - .NET 4.0), as your own machine that have VS2012 installed (.NET 4.5).
More Info If I target .net 4.0 but run on a machine that has .net 4.5 will .net 4.0 WPF bugs still be there?
More Info Make VS2012 not hide .NET 4.0 bugs when targeting .NET 4.0
More Info Support a .NET 4.0 Service Pack on Windows XP Supporting those .NET 4.0 Bugs Fixed in .NET 4.5

Related

.NET 5 not available in Visual Studio 2019

I have downloaded and installed .NET Core 5.0 SDK (v5.0.100-preview.1) in my Visual Studio 2019.
But it is not available in Target framework.
Am I missing something?
You need to install the latest preview of Visual Studio 2019 16.8, refer to
https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview-1/
You also need to explicitly enable preview versions within Visual Studio itself:
Then you should see it:
Specs: VS Version 16.8.0
Target Version of .Net Core: 5.0
You must have version 16.8.0 in order to have .Net Core 5.0
If you still have problems with Visual Studio not showing .Net Core 5.0 in Visual Studio version 16.8.0 (and assuming you downloaded the .NET Core 5.0 SDK for Visual Studio), well, apparently (and correct me if I'm wrong) it is now called just .Net 5.0, omitting the Core.
After selecting .NET 5.0, I was able to install other libraries which are currently version 5.0+ and dependent on .NET Core 5.0+
Is the new name intentional? Anyways, here some evidence of this working (I was able to install the newest version of Newtonsoft and Entity Framework for .Net Core):
Funny enough, when I try to create a new .Net Core project, the version shows up as expected:
I upgraded my version of Visual studio from 16.7.x to 16.8.1. I expected NET 5 to be listed as a target framework, but it was not.
I had previously created projects in 16.8 preview 6 using RC1.
Visual Studio Install did not list .NET 5 as an individual component either. I then downloaded and installed the x64 SDK. Still no luck. .NET5 was still missing as a target framework for VS 16.8.x
Today I opened VS Installer and from the More dropdown menu selected Repair . The repair process took 25-30 minutes to run, but now .NET Core 3.1 and .NET 5 are listed in all the usual places.
Norm
Maybe a bit late to the party.
Please note that if you've selected a 'regular' .NET Framework application you won't see the .NET 5.0 Framework option.
This is only visible in .NET Core project styles.
Try to set it in your .csproj file. Right click (maybe unload) and edit (within a PropertyGroup-element):
<TargetFramework>net5.0</TargetFramework>
Targeting .NET 5 (rc2) doesn't work smoothly in VS Version 16.8.0 Preview 6.0
I could only target .NET 5 by manually changing the .csproj file, and adding:
<TargetFramework>net5.0</TargetFramework>
When I wanted to create a solution, .NET 5 was not available, even when I have it installed. What I did to fix this was:
When you are creating the project, select the last version (in my case .NET Core 3.1)
When the project is created, right click on the project and select the Properties option.
In the Application tab, select the Target Framework you want.

Replacing old Windows agents for TeamCity

We have a TeamCity installation which we have just upgraded from 8.0.1 to 2017.1.1. Everything when very smooth and plainless.
However, we seem to have a problem with our agents, which SEEM to be slower now than before.
The current agents (all virtual on an inhouse VMWare ESXi 6 server) are running Windows 7 32-bit and has not been re-installed or undergone significant maintenance in more than 6 years. I was not the one to do the original installation, so I do not have the full history of the agents, although it is close.
In the beginning the access to the agents was somewhat of the wild west, and thus they are not as alike as I would like.
So, I am thinking of creating new agents and replace the old ones, but am having some questions regarding this.
We develop almost exclusively in .NET with a few licensed third-party products, so the setup of an agent should be relatively simple. We do have a few legacy .NET Compact Edition 3.5 builds, but otherwise it is more or less regular Visual Studio solutions ranging from .NET 3.5 to 4.6. Many solutions are Silverlight.
I am aware of the issue with the missing Microsoft.WebApplication.targets without Visual Studio installed, and have no problem with manually copying the files.
I am thinking about basing the agents on Windows 10 64-bit, but would it be better with 32-bit?
I intend to install the following packages, at least:
.NET Framework 3.5 (Optional Windows component on Windows 10).
.NET Framework 4.6 (Default Windows component on Windows 10).
Windows SDK 7.0
Windows SDK 7.1
Windows SDK 8.0
Windows SDK 8.1
Windows SDK 10.0 or 10.1.
Microsoft Build Tools 2013
Microsoft Build Tools 2015
Microsoft Build Tools 2017
Silverlight 5 SDK
Power Toys for .NET Compact Framework 3.5
The two Windows component should cover .NET 2.0, 3.0, 3.5, 4.0, 4.5 and 4.6. But will I need to install some or all of these separately?
How about 4.5.1 and 4.5.2?
How about 4.6.1 and 4.6.2?
Is there anything else, that I should be aware of?
Is it a good idea to use 64-bit agents?
Will there be issues on older target systems?
Any caveats I need to be aware of?
I hope someone will take the time to answer some or all of my questions.
Thank you.

Does my version of Visual Studio really matter

So I understand that there are new features with every new version of VS and .NET. My question is, does it really matter which version of the IDE I use as long as I use the correct .NET framework when I build and compile my code?
I have a software program that I write my code for, and it only supports VS 2008 and .Net 3.5. I can write my code just fine in VS 2010/12 and compile it via .NET 3.5. Is there really issues with doing this? Will the outside program really know what version I used?
I am asking this because I really enjoy using the interface with VS 2012 compared to 2008/10.
The Target Framework version is independent of the Visual Studio Version.
You can compile against .Net 3.5 in Visual Studio 2010 / 2012.
Is there really issues with doing this? Will the outside program really know what version I used?
In general, no. It shouldn't know or care which version of Visual Studio was used.
The one exception to this is potentially using Visual Studio 2012 to target .NET 4.0. Since 4.5 is an in place replacement of 4.0, and installing VS 2012 always installs .NET 4.5, it's possible that you may hit some of the backward compatibility issues in .NET 4.5.
This can be especially problematic if you don't have the reference assemblies for 4.0 and you hit one of the rare compatibility issues.
Since you're targeting .NET 3.5, which was the last CLR 2 in place upgrade, there should be no issues.
It's possible that the binary would not be bit identical with one compiled from an earlier version of Visual Studio, but it will execute just the same on any machine with the target version of .NET installed.
There are new versions of .NET supported in higher releases of VS, but backward compatibility is maintained so basiacally you can use any version of VS higher than 2008

Visual Studio 2008 support for new .NET 4

Will Visual Studio 2008 be supported by new .NET 4 from the get go?
I'm particularly interested in the System.Collections.Concurrent namespace and the parallel task library, which I would use immediately.
Is it worth upgrading to Visual Studio 2010 when it comes out?
No. VS2008 will not be able to target .NET 4.0:
[...] Visual Studio 2010 supports .NET 4 and earlier projects. Visual Studio 2008 supports .NET 3.5SP1 projects.
Source, comment posted by Polita Paulus
While you can't use .NET 4.0 itself from VS2008, if you're interested in the Parallel Extensions stuff, you could download the Reactive Framework (formerly LINQ to Rx) which I believe contains at least a lot of Parallel Extensions backported to .NET 3.5 SP1.
From the Release Notes, it includes:
System.Threading, backport of Parallel Extensions for .NET 4 to .NET 3.5 SP1
Task for executing asynchronous operations.
Concurrent Collections such as ConcurrentStack, ConcurentQueue ad ConcurrentDictionary.
PLINQ for writing parallel queries.
addition Threading operations such as Barrier,SpinLock and SpinWait.
If you want to know whether upgrading to VS 2010 will be worth it, then download beta 2 now, and try it out. Run it in a virtual machine if you don't trust it on a normal development machine. Run through some of the PDC videos showing the new features. Go through the Training Courses.
And above all, tell Microsoft what you think.
Historically - No.
Starting with 2008 the IDE has been able to target lower version frameworks, but I doubt they will ever target a newer version framework.

Visual Studio 2010 + .Net Framework 1.1 + Click Once Deployment

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.

Resources