I've already update to the latest version, but it still have this issue.
Visual Studio Community 2017
Version. 15.3.4
Related
Visual Studio 2022 Community version 17.4.2
Visual Studio recently updated and now whenever I build my solution a folder appears that contains a massive JSON Schema at [Solution Folder]/JSON/Schemas/Catalog/https%003A%002F%002Fgo.microsoft.com%002Ffwlink%002F%003Flinkid%003D835884 of 600 entries and over 4000 lines.
This is causing havoc with my version control. How do I prevent this file from being created?
Turns out it was a bug internal to Visual Studio.
The fix is live. Update to Visual Studio 2022 version 17.4.5 or later.
At the start I'd like to note that I've spent some time researching this issue and suggested solutions for similar questions like this one didn't help me.
Problem background
I need to migrate a Firebreath plugin project (which I haven't worked on previously) from PC_1 to PC_2.
As far as I'm aware the project was started on PC_1 on Visual Studio 2010 and later moved to Visual Studio 2013 Pro. There's one solution consisting of 19 projects. I have an instruction which says that in order to get the plugin installer I should first Build project_x and after that Build project_y_WiXInstall. Both steps work without any issues on this machine.
Then there's PC_2 which had Visual Studio 2015 Community installed before I started working on it. I've removed it, installed Visual Studio 2013 Pro (version 12.0.21005.1 REL - exactly the same as on PC_1), moved all of the needed files and I'm trying to get rid of all of the compilation errors. So far I figured out I had to install Cmake 2.8, Windows Driver Toolkit 7.1 and manually override an incorrect VCTargetsPath MSBuild variable
Problem description
Currently when I try to compile the project on the new machine I get these two errors (this is an image link since I can't embed images yet on this account). I'm not sure what's going on with the first error message since it looks incomplete and the file CUSTOMBUILD doesn't exist, but I'm not bothered by it too much since the previous compilation error I fixed also had a similar "artifact" as the first error and it disappeared after fixing the second one.
The covered part of the second error message is the project path. The error origin (Microsoft.Cpp.Platform.targets file, line 64) looks like this:
<!-- Error out if toolset does not exists in Visual Studio 2010 or 2012 -->
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_CurrentPlatformToolsetShortName);$(PlatformToolset)" Condition="'$(ToolsetTargetsFound)' != 'true'" />
What didn't help
The error description suggests using an Upgrade Solution... option, but there's no such thing when I right-click the solution
As an accepted answer for the question I've posted at the start of my post suggests, I've checked the Properties of all 19 of my projects (including the project ZERO_CHECK) but their Platform Toolset is already set to Visual Studio 2013 (v120).
I've also tried changing the Platform Toolset to inherit from parent or project defaults for all of the projects. This resulted in it switching to Visual Studio 2010 (v100) (not installed) and after that I've right-clicked on the projects and chose Upgrade VC++ compiler and libraries. After this the Platform Toolset was back to the Visual Studio 2013 (v120) but it didn't help with the compilation error.
As a NON-accepted answer for the question I've posted at the start of my post suggests, I've tried searching for all of the occurrences of 10.0 and V100 in all of my .vcxproj files to replace them but I haven't found any occurrences of them.
[EDIT]
I just got an idea to try building the project with MSBuild from the command line. There's a bit more info compared to errors inside Visual Studio, so maybe it will help with resolving the issue: https://pastebin.com/JhN3dXM3
So the thing you're missing here is that FireBreath projects are built using CMake -- the actual contents of the build directory should always be completely temporary and never stored in source control. To build the project on a new computer you need to run the prep command again from scratch.
If the previous maintainer changed the build files manually and/or migrated it to a newer version of visual studio without using cmake to do it then they did some very ugly things and all bets are off... good luck.
This is why all the firebreath documentation (I wrote most of it) strongly urges that the build directory be transient and you always do project file updates in cmake.
Hope that helps!
I have a Visual Studio 2015 C++ project which I wanted to upgrade to VS 2017. I had already denied the automatic prompts to upgrade my project when I first opened my project in VS 2017 (wasn't sure I wanted to upgrade at the time) so I couldn't update my project that way. Instead, I just went to my project's:
Properties->Configuration Properties->General
And in there I updated the 'Platform Toolset' option to 'Visual Studio 2017 (v141)' and also changed the 'Window SDK Version' to 10.0.16299.0 from windows 8.1. After performing this manual upgrade I now get the warning when building:
Unknown compiler version - please run the configure tests and report the results
Why am I getting this warning? I thought by changing the 'Platform Toolset' to VS2017 I would be using the VC2017 compiler. How do I fix this warning?
This line is from boost/config/compiler/visualc.hpp so the solution would be to upgrade to the boost 1.65.1 which properly acknowledges new version of Visual C++ compiler.
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.
This question already has answers here:
VS 2012 - Project failed to build because of missing Toolset
(2 answers)
Closed 6 years ago.
I am trying to compile a project written in C++. The compiler gave me this error.
1>Project file contains ToolsVersion="12.0". This toolset is unknown or missing. You may be able to resolve this by installing the appropriate .NET Framework for this toolset. Treating the project as if it had ToolsVersion="4.0".
Can someone tell me How to resolve this error. I tried to update it but was unable to do so?
It seems that you are trying to compile a Visual Studio 2013 Project (as it uses ToolsVersion=12.0) on Visual Studio 2012 (uses ToolsVersion=11.0).
So here is the solution to Your problem. #TestedSuccessfully
In your Project Folder open the .Vcxproj file and change
ToolsVersion=12.0 with 11.0
You have to change 12.0 with 11.0 at 3 places hopefully. You can
check for all occurences and You are done.
It worked for me. I hope will also work for You :)
ToolsVersion "12.0" means that it is a Visual Studio 2013 project file. You need to compile it with the correct compiler.