What C# compiler does Visual Studio 2013 use? If I were to install Visual Studio 2015 with its new Roslyn compiler, would that affect my Visual Studio 2013 installation?
I ask because we have some tests that are known to fail when our code is built with Visual Studio 2015. Some numbers differ at the eight significant figure. The solution when Visual Studio 2015 is released will probably be to increase the tolerances on the tests, but I'd like to understand how Visual Studio decides which compiler to use.
Can Visual Studio 2013 be explicitly set to use the old compiler? Or an msbuild script?
What C# compiler does Visual Studio 2013 use? If I were to install
Visual Studio 2015 with its new Roslyn compiler, would that affect my
Visual Studio 2013 installation?
Installing Visual Studio 2015 Preview will not affect your Visual Studio 2013 installation, and the old C# and VB compilers that live in .NET Framework installation folder within the Windows directory are not replaced. Instead, Visual Studio 2015 Preview uses and includes a preview of the next version of the Microsoft Build Tools, MSBuild 14.0, that is installed in the 32-bit Program Files folder under \MSBuild\14.0 and contains the new Roslyn compilers and code analysis libraries.
For C++, nothing substantial has changed, and as the compilers live in the \VC\bin subfolder of the particular Visual Studio installation, they will not affect each other.
Can Visual Studio 2013 be explicitly set to use the old compiler? Or
an msbuild script?
It's not necessary since Visual Studio 2013 can only use the old compilers, unless you installed and enabled the Roslyn CTP extension which has become obsolete by now.
No. Installing Visual Studio 2015 doesn't change the compiler used by VS 2013. At the command line, you can choose between by running the corresponding msbuild.exe
The test failures were due to .NET Framework 4.6 , rather than a change in compiler.
Fixed the problem by setting the 'use legacy JIT' environment COMPLUS_useLegacyJit variable per https://github.com/Microsoft/dotnet/blob/master/docs/testing-with-ryujit.md
Installing VS2015 will replace the .NET Runtime and update it to 4.5.3 - I don't know whether the JIT compiler is replaced, but it is possible.
In this case you could observe differing test results regardless of which C# compiler was used.
Anyways, installing 4.5.3 runtime is a major change to the machine and can't live side-by-side with non-preview runtimes so I'd not recommend it on a production machine. For example the Debugger API from Microsoft, CLRMD (Microsoft.Diagnostics.Runtime nuget package) no longer can connect to a 4.5.3 runtime - it's been reported here for example.
I would assume there are more breaking changes to be discovered.
Maybe VS 2015 does not affect the compiler used by VS 2013, but it definitely affects Roslyn (if you install VS 2015 your old, pre-VS2015 Roslyn code could stop working). For me it introduced problems with compiling anonymous types in ConfigR scripts.
I faced the issue by installing VS Professional 2015 Release side by side VS professional 2012. My MVC 3 Project created in VS 2012/ .net 4.0 I am not able to open now. I am able to open it in VS 2015/ .Net 4.0 only.
Related
I am having difficulty in installing Visual Studio 2015 Enterprise (Update 1). After installation completes, I get a warning saying "Not all features installed correctly". See below snip for details
In control panel programs list I found that VC++ 14.0.23506 (both x64 and x86) are installed.
I am able to open visual studio, but when I try to create a new project I get following error regrading c# compiler error
I know performing a clean install again is a solution, but I have poor internet speed and would like to avoid downloading the whole thing again. Any help in fixing this would be great.
PS: I have VS 2013 professional and VS 2012 express also installed, both of which are working fine
Try uninstalling Visual Studio 2015, those VC++ 2015 x86 and x64 runtimes, and reinstalling Visual Studio 2015. Looks like it didn't finish installing properly because you already had the runtimes installed.
Does the version of visual studio affects the performance of the compiled application?
For example, If i had an app that was compiled using visual studio 2010, and now i compile it with visual studio 2015, will it run faster?
also, does the target .net framwork affects the performance of the applicatoin? For example, if I chose 2.0 as the target .net farmework at the project creation, and compiled it using visual studio 2015, will it have the same perfomance as an application with 4.0 as the target .net framework which was compiled with visual studio 2015? Does the version of visual studio affects the performance?
does the version of the .net framework affects the performance?
I am not an expert, so I can only make assumptions.
If the implementation of functions of the framework hasn't changed in different framework versions, then the result (operation and performance) should be identical.
But I am quite sure that MS also reworked some code, so the result very likely will be different.
If the parts of the compiler, that are used to compile your code, haven't changed in different Visual Studio versions, then the result (operation and performance) should be identical as well.
What I can tell for sure though, is, that the compiler has changed from VS 2008 to 2013 to 2015. VS 2008 was able to compile a certain program of me, 2013 failed, 2015 worked again (and I doubt that they reverted the 2015 compiler back to 2008 state, so we got AT LEAST 3 different versions).
It seems that C# support has been installed:
However, there isn't an option to create a C# project:
Is there a way to enable C# projects without having to reinstall VS?
Note: this question isn't entirely relevant:
How can I add C# language support to Visual Studio 2010 shell?
** edit 0 **
I followed the instructions (listed in the comments). The *TemplatesCache directories were recreated (with one named CSharp in ItemTemplatesCache), however they are not included in the new project list (when VS is restarted).
** edit 1 **
If it is relevant, I have 'Visual Studio 2010 Shell' edition:
Visual Studio 2010 Shell is a completely different product from Visual Studio 2010 Express or Professional. The former allows you to create shell applications. The latter allows you to create C# and/or VB programs.
What you need to do is install Visual Studio 2010 Express or Professional.
Is there anyway of downgrading a Visual Studio 2013 project to a Visual Studio 2008 project ? I need to run some C# programs created in VS 2013 with VS 2008.
See this answer. But I really wouldn't recommend this, even if it does work, which to be honest is not guaranteed.
Better to either create a new VS2008 solution and just Add Existing...manually bringing in all the source files, or better yet, just sign up for VS Team Services, grab VSExpress 2013, and you don't have to worry about conversion.
The current distribution for System.Data.SQLite does not work with Visual Studio 2013 unless you deploy the VS2012 Update3 release pack (presumably) or just install (on a test machine like I did) the full version.
Does anyone know when the System.Data.SQLite team will release builds for Visual Studio 2013, both the precompiled static libraries that I would distribute to a customer and the full designer version that I would use?
The current release as of this post is 1.0.89.0, which does not include options for VS2013.
There is now a build that natively supports VS2013. Go to http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki and search for "Visual Studio 2013". As of today the install is called sqlite-netFx451-setup-bundle-x86-2013-1.0.92.0.exe.
It's currently not supported on VS 2013, but soon will be(Like most other libraries)
I believe they build every 2 weeks of the core project.
http://system.data.sqlite.org/index.html/doc/trunk/www/faq.wiki#q1