Item does not exist when check in TFS - visual-studio

I use VS 2013 to check-in a file to TFS 2012 and get the following error:
The item $/MyTeamProject/MyProject/MyInterface/IAllocationBLL.cs does not exist at the specified version, or you do not have permission to access it.
Other files just work fine. I notice that the Last Check-in date is missing.
If I undo this file, it then disappears on TFS. When I edit this file again, it back to TFS and still missing Last Check-in. I still get the same error checking in this file. Any advice would be appreciated.

The best method is to save the file as a backup outside, and undo it, check in the whole project, then add the file to the project again.

I had same/similar issue today. Didn't found proper (or easy) solution online, and here is my workaround:
(Optional) Backup project just in case
Delete file locally
In Source Control Explorer undo changes (was delete because, auto generated files are always deleted then generated again, and i think this is just bug in studio). Ignore warnings. You will have now source controlled file with exclamation because file not exist.
Open designer and just move some table and save - that will generate all files again without updating model from database.
VOILA - your file is under source control again.

I received this error with Visual Studio 2019 and was able to resolve it by:
Backup your project, just in case. You shouldn't need it though.
Undo the changes for everything in the project in the Team Explorer.
Go to the Source Control Explorer, Right Click the Project, and click Add Items To Folder.
Select all the items in the project folder. Click Finish
Items should reappear to check-in. Click Check-in and it should work.

Related

how to stop ".jfm file cannot be accessed" from locking up tfs

I'm working on a project with a large solution in TFS, which includes a sqlProject. There's a few things we use in that project but there's also a .jfm file generated for the project. The .jfm has been excluded from the project but TFS keeps trying to access it. It also shows up under "Excluded Changes" even though I have not made any changes to it.
I've added a .tfignore file with the line
*.jfm
and restarted visual studio and rebooted my computer. This popup persists:
and then I can't open anything in Source Control Explorer, it just keeps giving me the popup. I've googled, spoken to my coworkers, tried moving the .tfignore file around, none of it has worked and it's driving me bonkers.
To ignore the .jfm files you have to ensure that the .tfignore file was checked in to the remote server.
Please try following below steps to fix this issue.:
Delete the .jfm files from TFS via web portal (backup them if needed),
Restart VS, Right click the project node under the collection and
select Get Latest Version to remove the .jfm files from local
workspace.
Set the .tfignore file and check in to the remote server
Then try it again, if that not work, just try to add a new workspace and map the sources in VS,then check in the .tfignore file to the remote server.

How to update solution files in TFS when files are changed outside of Visual Studio?

I have a bunch of Word files in VS2015 solution. These files had ben modified by end user and I am trying to update them in TFS source control. What I did was I checked them out in my solution and copied user copies into solution folder in Windows10 File Explorer. I was hoping that the pending changes would include new files copies. However, when I checked them in I had a TFS message reading there were no changes done in those files. Am I missing something? Please, help if you can. Thank you.
Possible duplicate with this question How to have TFS 2010 detect changes done to files outside of Visual Studio?
The best solution is using reconcile in TFS. After you compare a server folder and a local folder, you can reconcile the differences between the folder contents and between files that have conflicting pending changes in your local folder. Detail steps as below:
Open the Source Control Explorer
Right-click on the folder with the changes and choose Compare
Select the files you want to reconcile (press CTRL+A to select all files)
Click on the Reconcile button
Set the options in the Reconcile Folder Differences dialog. Make sure Files that do not have pending changes is set to Check
Out
Click OK
If you have local changes the Check Out dialog will be shown. Set the preferred Lock type
Click Check Out

Clearcase does not checkout project files when files are moved by resharper

My current project is under source control by clearcase. I am also using Resharper 8.1 with Visual Studio 2012. I am also using a VS integration for ClearCase.
When adding files manually to a project (by right clicking on the Project -> Add-> Class), ClearCase checks out the project file, so that saving all files works like a charm.
"Unfortunatelly", I tend to use a lot of the ReSharper functionallity. When using ReSharpers Move To command, it seems that ClearCase prevents ReSharper (or Visual Studio) to check out the project files. They are modified, but cannot be saved - I always get that Save As dialogue when saving all documents. To get this working, i need to manually check out the *.proj file and then save the modified files. Is there a way to automatically check out those files?
Another problem is when using ReSharpers Rename: I just tried to use Rename on an interface that is used in approx. 60 other files. Everythink worked, except that the files were not checked out by clearcase! In order to save, I needed to Save all, click cancel for the first file (ClearCase then recognizes that the file has been modified and checks it out) and then save again. This is really annoying and prevents from a produtive workflow..

Tell visual studio to close the documents that have been deleted outside of the IDE

I'm working with Visual Studio 2010 Professional and use git with Git Extensions as a version control system. When I checkout a branch that involves different versions of the files which I'm working on, VS2010 prompt me with a message that says: "this file has been modified outside of the source editor. Do you want to reload it?" I click yes to all, and get the right version of the files. Until here everything goes as expected.
The problem comes when I checkout a branch that involves files to be deleted. Files that in that branch do not exist yet/anymore. If one of these is opened in the editor, it continues there and you can keep writing on it and then save it.
I know the files can't disappear from the project tree, because we're not keeping track of the project files (at least they get in Project File explorer an exclamation mark telling you that the file doesn't exist anymore). What I want is Visual Studio to close each file that no longer exist. Is there a way to do that? Or does someone have an idea to achive this workflow?
Closing and opening Visual Studio again does the trick, actually does exactly what I want.. But it would be good to avoid it.
Thank you
I think you have forgotten to include the project file vbproj or csproj in git

Howto resolve... Visual Studio Source Control notification "Projects have recently been added to this solution"

After some use Visual Studio 2008 when opening a solution that is checked into Visual Studio Team Foundation will pop up a dialog saying:
Projects have recently been added to this solution. Do you want to get them from source control?
This happens every time the solution is loaded (even if no projects have been added). The only way I have found to remove this minor annoyance is to completely rebuild the SLN file.
Has anyone found a better/simpler way?
I had this recently after we moved a number of projects in the solution. I worked out eventually, that each project actual appears in solution file multiple times each with path information! So even though the path in the main reference of the project was correct it was wrong further down the file.
So go through the .sln file and make sure the paths in all the references of each project is correct.
For instance, the first reference for one of my projects is:
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ObexPushVB", "Samples\ObjectPush\ObexPushVB\ObexPushVB.vbproj", "{E3692A59-D636-48E8-9B57-7DA80A88E517}"
EndProject
In my case the path there was correctly updated. But then we have also for that project:
SccProjectUniqueName8 = Samples\\ObjectPush\\ObexPushVB\\ObexPushVB.vbproj
SccProjectTopLevelParentUniqueName8 = InTheHand.Net.Personal.sln
SccProjectName8 = Samples/ObjectPush/ObexPushVB
SccLocalPath8 = Samples\\ObjectPush\\ObexPushVB
So all of those paths needed to be updated too! After I fixed that manually all was well. (The sample there is after the fix BTW).
Hey, this actually happened to me about 4 years ago.
First, it sounds to me like someone on your team doesn't have all the updates applied to their visual studio installation. Go around and get everyone upgraded to the latest service pack for your VS version.
Once that is done, unbind the solution, fix the file, rebind it and tell everyone to do a force get latest on your TFS project.
See
http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/thread/c2822ef1-d5a9-4039-9d3e-498892ce70b6
http://www.nivisec.com/2008/09/vsts-projects-have-recently-been-added.html
(broken link: http://technorati.com/posts/Yadz3Mj1pxHPSJLlnUs1tL1sIwU5jXa5rNBbIAnYdvs%3D)
This message will also occur if your solution has a reference to a project whose location is outside of the solution directory, but it doesn't physically exist (i.e. you hadn't checked it out before opening the solution). VSS (or TFS) will then give you that message and clicking OK will automatically get latest on the project that's missing so your solution won't have any unloaded projects in it.
EDIT:
Reading that again confuses me. Basically you get the message if your solution has a source control binding to a project that isn't inside of the folder your solution is in, and that outside project doesn't physically exist on your machine. Clicking on OK will check the project out for you.
In my case it was a reference to a test project which has been deleted.
I noticed that when I inspected all the projects in the Solution Explorer. Our team uses solution folders so it was not normally visible and because it was a test project it didn't have any impact on the application.
After removing the project from the solution the messages is no longer shown.
I'm working with Visual Studio 2013.
For me, it happened after having modified the folder's structure of my solution (I added a sub-folder for a project directly on the source code explorer). I got rid of this boring error by removing all the projects from my solution, using the solution explorer. After that, I closed Visual Studio, manually edited the .sln file and removed the whole section :
GlobalSection(TeamFoundationVersionControl) = preSolution
To finish, I just added the projects back to the solution as "Existing projects" with solution explorer. Visual Studio will recreate by itself the removed section of the .sln file.
The same error message can occur if someone adds a project, check-in edited solution file, but don't adds project directory to source control.
To cut a long story short - this error can mean that in .sln file there's reference to .csproj file, but the .csproj itself is physically missing.
In my case I renamed a(n) (unloaded) project in VS. It correctly moved the project to a new folder and no data was lost. However the solution file still pointed to the old directory which still existed but was empty (so the project could not be actually loaded).
After deleting the project from the solution (which was no problem because the folder was allready empty) the problem was solved.
Adding the project again from the new location was no problem either.
I had this problem after moving a number of unit test projects that were under source control (VSTS) into another folder. After this whenever I opened a branch I would get the "Projects have recently been added to this solution. Do you want to get them from source control?" error.
For some reason the csproj file from the trunk wasn't under source control which meant it was missing from the branched version. I find this happens sometimes after moving source controlled projects.
To fix it I opened the original source trunk, used Source Control Explorer to add the missing file(s), then merged the trunk to the branches to copy over the missing csproj file.
After this I could open the branched versions without the warning popping up.

Resources