Recently, my team has upgraded to Visual Studio 2017 from 2015. It's been great so far (even disabled ReSharper to see how it goes), but I'm just missing one thing.
This extension that makes it possible to attach the debugger with a single click or hotkey. The extension only is available for 2015, but is there a way to force-install it on 2017? I've tried Googling but couldn't find any results.
Yes, I know VS2017 has an option to re-attach to the last process, but in my case there are multiple w3wp.exe processes and attaching to the right one is a hassle.
An extension created for VS 2015 uses assemblies that are available on VS 2017, either directly or through binding redirects of devenv.exe.config on folder Common7\IDE of VS 2017, so that part is not a problem. The opposite, to make an extension created for VS 2017 to run on VS 2015 would be more problematic.
The problem for VS 2017 comes from the new contents of the VSIX file (a VSIX file is actually a .zip file so you can rename it to .zip for inspection):
Two new .json files (catalog.json and manifest.json)
A extension.vsixmanifest that uses "version 3" instead of "version 2". Everything is the same than in "version 2" (included the version 2.0.0.0) but it needs a new section that must declare at least a prerequisite of the core editor of VS 2017:
<Prerequisites>
<Prerequisite Id="Microsoft.VisualStudio.Component.CoreEditor" Version="[15.0,16.0)" DisplayName="Visual Studio core editor" />
</Prerequisites>
To create all that by hand can be done, but the easiest way would be to build the source code on VS 2017 with the latest VSSDK 15.x NuGet package.
See my post It’s time to change the VSIX manifest of your extension to v3 for Visual Studio 2017 compatibility
Related
I inherited a project that was created in Visual Studio 2015 with SQL Server Data Tools version 14.
I'm running VS 2017 version 15.6.0 with SQL Server Data Tools 15.1.61801.210
When I try to open the solution it just fails with the below error message. What do I need to do in order to "upgrade" the solution so I can work with it?
Unsupported
This version of Visual Studio is unable to open the following projects. The project types may not be installed or this version of Visual Studio may not support them.
For more information on enabling these project types or otherwise migrating your assets, please see the details in the "Migration Report" displayed after clicking OK.
- LabSOR, "C:\Users\GROSCH\Documents\LabSOR\ETL\LabSOR_SSIS\LabSOR\LabSOR.dtproj"
No changes required
These projects can be opened in Visual Studio 2015, Visual Studio 2013, Visual Studio 2012, and Visual Studio 2010 SP1 without changing them.
- LabSOR, "C:\Users\GROSCH\Documents\LabSOR\ETL\LabSOR_SSIS\LabSOR.sln"
Ended up the SSDT integration elements hadn't installed. Once I did that I could right-click on the project in the solution explorer and reload it, and then it started working.
I use ResXFileCodeGeneratorEx for generating ids. This was working till the time I used Visual Studio 2010 IDE but it is not working for Visual Studio 2017.
Please help for the same.
Extension for Visual Studio 2019 can be found here
Extension for Visual Studio 2017 can be found here
The deleted answer to this question pointed to the location of a newly built ResXFileCodeGeneratorEx but was deleted because it only contained a single link and no context. I'm not the original answerer, but figured that it may still be valuable to have this information:
It seems to have been renamed to ResXCodeFileGeneratorEx, and if you search through the menu in Visual Studio under Tools > Extension and Updates, you need to search for "Extended Strongly Typed Resource Generator".
However, the internal name is still the same, so the Custom Tool action should remain ResXFileCodeGeneratorEx.
I'm not aware whether or not it works on Visual Studio 2019, but since the original source is still around, it oughtn't be too hard to resolve that yourself if you need it.
To install it, simply doubleclick the VSIX file, it will popup with the VS Version Instance Selector, where you can select to which of your VS 2017 instances (pro, community, preview) you want to install the extension to.
I have a Visual Studio C++ console application that I created with Visual Studio 2015 and now I can't compile it (with Visual Studio 2017) because it is targeting the Windows 8.1 SDK, which is not installed. The problem is that I can't retarget the project to the Windows 10 SDK.
What happens is that when I open the project properties page and go to General - Target Platform I see the Windows 10 SDK in the dropdown, and I am able to select it... but as soon as I press Apply, it reverts back to 8.1 by itself. No error message is provided.
Visual Studio installer says that, indeed, the listed SDK version is installed:
So what's going on here? Is there a way to retarget my project without having to install the Windows 8.1 SDK?
Not sure if that matters but: this project is actually just a "wrapper" around an existing bare project consisting of just a bunch of .cpp and .h files, which was developed by another person. I'm really not familiar with C++ development.
After hours of struggling with this problem, I coincidentally discovered that selecting Project Properties/General, changing "Platform Toolset" to v141_xp (instead of v141) forcibly drops the Windows SDK Version to 8.1 or 7.0. I'm not sure how Visual Studio chooses which SDK to use.
EDIT: You must edit .vcxproj and change both:
<TargetPlatformVersion>10.0.17134.0</TargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
Reporting template Component (RDLC) not exists to as New Item in Visual Studio 2017 Enterprise.
How to resolve this?
I have tried by installing SQL Server Data Tools.
Previously it works for me in Visual Studio 2015.
There is a bug in the extension Microsoft Rdlc Report Designer for Visual Studio that the ReportViewer shows up as a non-visual component.
Instead use the NuGet Package Microsoft.ReportingServices.ReportViewerControl.WinForms for each project that will use the ReportViewer. Part of the solution involves removing the ReportViewer from the toolbox after use and restarting Visual Studio before opening the next project/solution.
Please see this answer to a similar question for step by step details.
The RDLC editor for VS2017 is only available as a VSIX installer from the marketplace: Download
I have just used VS2015 to add the new item. All other stuff seems to be fine in VS2017 (bearing in mind that you installed the VSIX extension)
The question pretty much tells it all.
Continoustests comes as a windows installer (http://continuoustests.com/download.html), so the trick described here doesn't work.
I tried the following:
Install Mighty Moose
copy the C:\Program Files (x86)\ContinuousTests\AutoTest.VS.2012.Addin to C:\Program Files (x86)\ContinuousTests\AutoTest.VS.2013.Addin
Edit the 2013 file and update the version numbers from 11.0 to 12.0
Alternatively: drop the following file: AutoTest.VS.2013.Addin in your MightyMoose installation folder.
In Visual Studio open the Tools - Options - Environment - Add-in Security page and add C:\Program Files (x86)\ContinuousTests to the list of trusted add-in paths.
Restart Visual Studio
This seems to do the trick for me. Not sure if there are any issues with this, as I haven't played around with it too much. I had Visual Studio 2010, 2012 and 2013 installed side-by-side, so I didn't have to trick the installer into believing that there is a suitable version of Visual Studio anywhere.
Then
Follow the steps in the next answer below :)
#jessehouwing's answer is on the mark! But, there's one problem left unresolved: the code coverage margin of Mighty Moose still won't appear. So, in addition to following #jessehouwing's suggestion above, you must also do the following in order for the code coverage margin and the various test call graph overlays to work.
Go to the Visual Studio 2013 installation folder. By default, this is %ProgramFilesx86%\Microsoft Visual Studio 12.0.
Within that folder, navigate to \Common7\IDE\Extensions.
Create a new folder called Continuous Tests (yes, it does have a space in its name).
Choose one of two paths below:
If you have a previous version of Visual Studio installed:
Navigate to %ProgramFilesx86\Microsoft Visual Studio x.0\Common7\IDE\Extensions\Continuous Tests, where x.0 is the previous version of Visual Studio, e.g. 2008 - 2012.
Copy the extension.vsixmanifest file from the current directory to the directory created in step 3 above.
If you don't have a previous version of Visual Studio installed:
Go to the installation directory for Mighty Moose, by default %ProgramFilesx86%\ContinuousTests, and copy the extension.vsixmanifest file to the directory created in step 3 above.
Start notepad as an administrator.
Open the copied extension.vsixmanifest file.
Add the text indicate below into the extension.vsixmanifest file after the included text shown (you don't need to add the comment), and save the file:
<SupportedProducts>
<VisualStudio Version="11.0">
<Edition>Ultimate</Edition>
<Edition>Premium</Edition>
<Edition>Pro</Edition>
</VisualStudio>
<!-- ADD THE TEXT BELOW TO ENABLE VISUAL STUDIO 2013 SUPPORT -->
<VisualStudio Version="12.0">
<Edition>Ultimate</Edition>
<Edition>Premium</Edition>
<Edition>Pro</Edition>
</VisualStudio>
</SupportedProducts>
If you copied the extension.vsixmanifest file from the Extensions directory of a previous version of Visual Studio, you are finished. Otherwise, continue on to step 9.
Find the following text within the extension.vsixmanifest file:
<Content>
<MefComponent>|%CurrentProject%|</MefComponent>
</Content>
Change |%CurrentProject%| to the following:
%Mighty_Moose_Install_Path%\AutoTest.VS.RiskClassifier.dll
where %Mighty_Moose_Install_Path%, by default, is %ProgramFilesx86%\ContinuousTests. (Use the actual path, not the expansion macro!)
Save the file.
If you have Visual Studio 2013 open, restart Visual Studio for the changes to take effect. If you want to verify that the extension is installed, go to Tools|Extension and Updates... and search for Mighty Moose in the list of extensions.
Hope that helps save someone a few hours worth of time trying to figure this out.
If you are installing on a fresh machine with no previous versions of visual studio installed there are a few extra steps to get it working. Here are the full steps:
Follow the answer from #jessehouwing
Put msbuild in the 2012 location by copying the file Microsoft.Build.Tasks.v12.0.dll from C:\Program Files (x86)\MSBuild\12.0\Bin to C:\Windows\Microsoft.NET\Framework\v4.0.30319
Follow the answer from #fourpastmidnight
Reboot
Install another visual studio extension of your choice from "Extensions and Updates" inside visual studio 2013 (I tested with Code Maid but I suspect any extension will provide the required kick)
Restart Visual Studio. Mighty Moose wakes up and the code coverage icons appear.
It is now safe to uninstall the extension you added in step 5 if you don't want it.