Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 project file corrupted on class rename ?
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

breathe67
New Member

Canada
6 Posts

Posted - Nov 26 2016 :  6:23:52 PM  Show Profile  Reply with Quote
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.

breathe67
New Member

Canada
6 Posts

Posted - Nov 26 2016 :  6:26:32 PM  Show Profile  Reply with Quote
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;

Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 28 2016 :  2:57:16 PM  Show Profile  Reply with Quote
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.
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Nov 28 2016 :  2:59:49 PM  Show Profile  Reply with Quote
Also, can you please try installing Update 3 for VS2015 to see if it makes any difference?
Go to Top of Page

breathe67
New Member

Canada
6 Posts

Posted - Jan 20 2017 :  12:40:21 PM  Show Profile  Reply with Quote
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.


Edited by - breathe67 on Jan 20 2017 12:41:00 PM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18751 Posts

Posted - Jan 20 2017 :  3:35:00 PM  Show Profile  Reply with Quote
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.

zen is the art of being at one with the two'ness
Go to Top of Page

breathe67
New Member

Canada
6 Posts

Posted - Jan 20 2017 :  10:07:49 PM  Show Profile  Reply with Quote
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.


Go to Top of Page

breathe67
New Member

Canada
6 Posts

Posted - Jan 20 2017 :  10:30:09 PM  Show Profile  Reply with Quote
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.)

Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18751 Posts

Posted - Jan 21 2017 :  6:24:25 PM  Show Profile  Reply with Quote
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.

zen is the art of being at one with the two'ness
Go to Top of Page

breathe67
New Member

Canada
6 Posts

Posted - Jan 22 2017 :  8:32:06 PM  Show Profile  Reply with Quote
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 :)
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18751 Posts

Posted - Jan 23 2017 :  11:04:08 AM  Show Profile  Reply with Quote
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 :)

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000