I have a Setup deployment project in VS 2010. The project compiles perfectly with the GUI interface of VS 2010, but any time I trying to compile it via vs cmd (devenv.com) it comes up with this error:
ERROR: Unable to update the dependencies of the project.
Notice that there is NO dll that mentioned in the error (e.g. the error does NOT contain "The dependencies for the object ‘xxx’ cannot be determined").
Please do not tell me to clean all the files in this setup and start from ground up - this is not a real solution! I have 5 projects with this exact error, and I don't want to re-arrange each one. More then that, this does not promise me that the problem will not re-occur in the future.
Thanks very much!
I used to rebuild these installer projects from scratch when they stopped working (for whatever reason), but I've found a much much quicker (and less error-prone) workaround. It works for me. Maybe it will work for you.
- Remove the Installer project from your solution through the IDE interface
- Add the Installer project back into your solution (Add > Existing Project...)
- Rebuild
It works practically every time for me...
John
The hotfix didn't fix the issue on my computer (tried on two computers, rebooted all that jazz)
Instead I used source control to figure out what happened to my .vdproj.
It appears extra corrupt entries are added to the "File"
section of the .vdproj.
Suppose you are getting an error such as
ERROR: Unable to update the dependencies of the project. The dependencies for the object 'AutoMapper.DLL' cannot be determined.
In your .vdproj search for AutoMapper and you should come across several { } where it is used.
A normal one looks like this:
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_263299FB43D185D41A44FBEE0253D3ED"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:AutoMapper, Version=1.1.0.188, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_263299FB43D185D41A44FBEE0253D3ED"
{
"Name" = "8:AutoMapper.DLL"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:AutoMapper.DLL"
whereas a corrupt chunk is missing the name of the dll (AutoMapper.DLL in this case) in the ScatterAssemblies
section.
Remove this corrupt entry, that is the entire section starting from "{9F6F8455-..
down to the next chunk.
I fixed this by editing the vdproj by hand and removing the Hierachy and File sections and then rebuilding the vdproj
see: this
This worked for me:
- Run a clean solution command from VS2010
- Open source code folder in explorer
- Search for *.exe files, sort by location
- Manually delete all files in Release folder
If there exists some_project.vshost.exe locked up file, open properties of this project in VS, and uncheck "Enable the Visual Studio hosting process" under debug. Then remove it as well. It should build now.
support.microsoft.com/kb/2286556
thanks Hans, this update fixed my problem.
This is copied from @timB33's external link, which works. All links to the MS hotfix appear to broken, so this was the only way I could find to fix without removing and recreating the setup project.
I have consistently used this method to get around this bug instead of rebuilding my setup projects. This applies to both merge module projects AND setup projects. Manually remove the data in the Hierarchy and Files section of the project files.
Open .VDPROJ file
Find the "Hierarchy" section. Delete everything so the section looks like this: "Hierarchy" { }
Find the "File" section. Delete everything so the section looks like this: "File" { }
Reload the project
Rebuild the project.
You may need to re-add project outputs if missing something
来源:https://stackoverflow.com/questions/7625225/compile-setup-project-with-devenv-com-error-unable-to-update-the-dependencie