T O P I C R E V I E W |
breathe67 |
Posted - Nov 26 2016 : 6:23:52 PM Hi, I just used visual assist (on VS2015) to rename a class used by a lot of files in a single project (approx 50-60 .h and .cpp files). When the rename was complete some of my project filter folders were missing, and the headers & source for the files that were in those folders were now mixed into the same root (filterless) file listing in the solution explorer. In addition, several cpp modules now had their 'exclude from build' setting erroneously set to true. I don't know for certain that the rename caused this mangling, but I noticed it a few seconds after the completion of he rename. I was actually doing several renames in succession before that, so maybe one of those prior could have been the culprit. Or maybe it was coincidence and not visual assist's doing. I restored from a backup of project files I luckily made yesterday so not much to reconstruct.
Anyway, this is just an FYI. I can upload the "mangled" project files .vcx, .filters etc. if it helps. |
10 L A T E S T R E P L I E S (Newest First) |
feline |
Posted - Jan 23 2017 : 11:04:08 AM Hopefully installing Update 3 has made a difference here, and the problem is now fixed. I certainly hope so.
If this nasty problem does come up again then hopefully Process Monitor will shed some light on what is happening here. It tends to log a great deal of information, so figuring out which bits you care about is half the job, but it does give us a useful place to start.
I am glad Rename and Rename Files is working so well for you :) This should be reliable, and never corrupt anything, so you can feel safe using this. Just try and keep on top of you git checkin's, since this is always useful regardless :) |
breathe67 |
Posted - Jan 22 2017 : 8:32:06 PM Hi, Thanks for your reply and the Process Monitor suggestion. I'll remember to try it if occurs again... However I did run 2-3 large renames today across many files (on the project in question, including the full solution tree), and again so far so good (using service release 3). There was also a .h/.cpp pair of files I elected to rename after being prompted. Everything ran without issue. (very useful tool, BTW, especially the dialogue allowing you to quickly inspect the references to be changed - thanks :)
|
feline |
Posted - Jan 21 2017 : 6:24:25 PM Thank you for the information about extensions, there is nothing obvious or suspicious here that seems a likely factor. Still, worth asking just in case.
I have been experimenting here with VS2015 Update 3, trying to figure out what files would need to be changed / corrupted to produce the effects you are seeing. Using a simple test solution with folders and files excluded from being built, if I delete the hidden ".vs" directory, in the root solution directory, this wipes out the exclude from build settings that I set on some of the files in the solution.
So it looks like its not even as "simple" as the .vcxproj file being updated, which VA will do under certain limited circumstances. Basically adding files to the project or renaming files.
If you have the time at some point to make a copy of the full project, and then do some test renames to see if you can trigger this problem again, could you please run Process Monitor first, and set it to monitor the solution directory tree. Process Monitor comes from:
https://technet.microsoft.com/en-us/sysinternals/bb896645
When you run it you are asked to set up filters. If you start with the filter:
Path Contains *** then Include
and set the path to be the directory containing the copy of the solution. This should then log all file activity from all processes. If the problem happens again, I can then dig through the logs and see if there is any sign of a process other than the IDE being involved. If we could determine that the IDE is making these changes, or that some other program is making the changes this may be a helpful step forward. |
breathe67 |
Posted - Jan 20 2017 : 10:30:09 PM Hello,
As a quick test I just copied my project to a new directory, opened it (with VS service release 3) and did the same rename operation that caused the error earlier today. I ran the rename twice, and the error did not occur. (Note this copy didn't involve the entire solution (which has about 10 projects), nor did it include any of the auto-generated build directories and intermediate files, auto-generated user files, etc. that VS likes to create (except for the .vcxproj, .filter, and .user files for the project in question.)
|
breathe67 |
Posted - Jan 20 2017 : 10:07:49 PM I was doing some major refactoring for about a month, and I was using it fairly often... this is the second time the issue occurred but in both cases the volume of the rename was relatively large; not 2 or 3 files but quite a few references in a larger number of modules. Can't detect a pattern, however, since it's only been twice :) Actually it may have actually been the last two times I've used rename, because I don't recall attempting another rename since the prior issue on Nov 26. To answer an earlier question, I didn't rename any files, just functions. I actually just installed VS release 3, so will let you know if it occurs again.
BTW, yes I use git, but often forget to update daily :)
As for extensions, I pasted a list below. I installed Python Tools for Windows, and *possibly* Github for Windows (though I think Microsoft may have installed it by default).
Extensions: Microsoft Visual Studio Community 2015 Version 14.0.25431.01 Update 3 Microsoft .NET Framework Version 4.6.01586
Installed Version: Community
Visual Basic 2015 00322-20000-00000-AA867 Microsoft Visual Basic 2015
Visual C# 2015 00322-20000-00000-AA867 Microsoft Visual C# 2015
Visual C++ 2015 00322-20000-00000-AA867 Microsoft Visual C++ 2015
Windows Phone SDK 8.0 - ENU 00322-20000-00000-AA867 Windows Phone SDK 8.0 - ENU
Application Insights Tools for Visual Studio Package 7.0.20622.1 Application Insights Tools for Visual Studio
ASP.NET and Web Tools 2015.1 (Beta8) 14.1.11107.0 ASP.NET and Web Tools 2015.1 (Beta8)
ASP.NET Web Frameworks and Tools 2012.2 4.1.41102.0 For additional information, visit http://go.microsoft.com/fwlink/?LinkID=309563
ASP.NET Web Frameworks and Tools 2013 5.2.40314.0 For additional information, visit http://www.asp.net/
Command Bus, Event Stream and Async Manager Merq Provides ICommandBus, IEventStream and IAsyncManager MEF services for loosely coupled Visual Studio extension components communication and integration.
Common Azure Tools 1.8 Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.
GitHub.VisualStudio 1.0 A Visual Studio Extension that brings the GitHub Flow into Visual Studio.
JavaScript Language Service 2.0 JavaScript Language Service
JavaScript Project System 2.0 JavaScript Project System
Microsoft Azure Mobile Services Tools 1.4 Microsoft Azure Mobile Services Tools
NuGet Package Manager 3.4.4 NuGet Package Manager in Visual Studio. For more information about NuGet, visit http://docs.nuget.org/.
PreEmptive Analytics Visualizer 1.2 Microsoft Visual Studio extension to visualize aggregated summaries from the PreEmptive Analytics product.
Python Tools for Visual Studio 2.2.40825.00 Python Tools for Visual Studio provides IntelliSense, projects, templates, Interactive windows, and other support for Python developers.
Python Tools for Visual Studio - Django Integration 2.2.40825.00 Provides templates and integration for the Django web framework.
Python Tools for Visual Studio - Profiling Support 2.2.40825.00 Profiling support for Python projects.
SQL Server Data Tools 14.0.60519.0 Microsoft SQL Server Data Tools
TypeScript 1.8.36.0 TypeScript tools for Visual Studio
Visual Assist For more information about Visual Assist, see the Whole Tomato Software website at http://www.WholeTomato.com. Copyright (c) 1997-2016 Whole Tomato Software, Inc.
Visual C++ for Cross Platform Mobile Development 1.0 Visual C++ for Cross Platform Mobile Development
Xamarin 4.2.1.62 (680125b) Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.
Xamarin.Android 7.0.2.37 (ce955cc) Visual Studio extension to enable development for Xamarin.Android.
Xamarin.iOS 10.2.1.5 (44931ae) Visual Studio extension to enable development for Xamarin.iOS.
|
feline |
Posted - Jan 20 2017 : 3:35:00 PM Rename should not be causing a problem like this, but clearly something is. Do you use Rename a lot, or just occasionally? I am trying to work out if this is a relatively common problem, or something that happens only very rarely.
If you look at:
IDE Tools menu -> Extensions and Updates...
what extensions are listed on you system? For VS2015 Professional Update 3 with VA I have the following extensions listed:
Azure AD Authentication Connection Service Clang with Microsoft CodeGen Developer Analytics Tools v5.2.0 Get Xamarin Microsoft Advertising SDK for Windows 8.1 Microsoft Advertising SDK for Windows Phone 8.1 XAML Microsoft ASP.NET and Web Tools Microsoft ASP.NET Web Frameworks and Tools Microsoft Azure Mobile Services Connected Service Microsoft Azure Storage Connected Service Microsoft Connected Services Microsoft Office 365 API Tools NuGet Package Manager for Visual Studio 2015 TypeScript for Microsoft Visual Studio Visual Assist Visual Studio Extension for TextMate Grammars Visual Studio Extensions for Windows Library for JavaScript
I am just wondering if some form of interaction with another extension could be a factor here.
On a side note, have you considered using source control? You should not be getting this corruption problem, and it needs to be studied, it's just that generally some form of source control is useful, since you can back up everything important and track changes over time as well. |
breathe67 |
Posted - Jan 20 2017 : 12:40:21 PM Hello, sorry I was busy with work and unable to respond to your 3 earlier questions about the project mangling. Unfortunately it has just happened again and thought you might like to know
-I renamed a function (via VassistX->Refactor->Rename.) -Visual Assist found the function references correctly, maybe 20-30 of them in 6 or 7 different files -I clicked "Rename" and the references appeared to be renamed correctly, and no error messages were shown. However (as was the case when it occurred on Nov 26 2016):
a) many of my folder filters were gone. I have .h and .cpp files in several different filter folders, but they were now merged into one listing. b) several .cpp files were now excluded from the project build.
I haven't yet tried Update 3 (currently using same version as last time). I will try to get to that, but not much time right now.
|
accord |
Posted - Nov 28 2016 : 2:59:49 PM Also, can you please try installing Update 3 for VS2015 to see if it makes any difference? |
accord |
Posted - Nov 28 2016 : 2:57:16 PM 1. Did you also use Rename Files directly or indirectly? What I mean by the latter is that when you rename a class that has the same name as the file, Visual Assist offers to rename the file as well. 2. Unfortunately I don't think that sending in the damaged filters would help much. Are you able to reproduce the problem? If this is caused by Rename Files then it might help to rename a single file to reproduce the problem. Certainly you would need to backup everything before trying anything. 3. Did you get any error message during the renaming process? e.g. VA cannot modify a file or something similar.
Rename just modifies the content of the files, so I cannot imagine that it's alone would cause something like this.
Sorry for the inconvenience. |
breathe67 |
Posted - Nov 26 2016 : 6:26:32 PM Forgot - here's the info from my VA system config:
License: [email protected] (Non-renewable license) Support ends 2017.10.19 VA_X.dll file version 10.9.2114.0 built 2016.10.15 DevEnv.exe version 14.0.23107.0 Community msenv.dll version 14.0.23107.0 Comctl32.dll version 6.10.14393.447 Windows 10 10.0 Build 14393 4 processors (x86-64, WOW64) Language info: 1252, 0x1009
Platform: Project defined Stable Includes: C:\Program Files (x86)\Windows Kits\8.1\Include\winrt; C:\Program Files (x86)\Windows Kits\8.1\Include\shared; C:\Program Files (x86)\Windows Kits\8.1\Include\um; C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt; C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include; C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include;
Other Includes:
Stable Source Directories: C:\Program Files (x86)\Windows Kits\10\Source\10.0.10150.0\ucrt; C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\crt\src; C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\src\atl; C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\src\mfcm; C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\src\mfc;
|
|
|