我在VS 2010中有一个安装部署项目。 该项目与VS 2010的GUI界面完美编译,但是当我尝试通过vs cmd(devenv.com)编译它时,它会出现这个错误:
ERROR: Unable to update the dependencies of the project.
请注意,错误中没有提到的dll(例如错误不包含“无法确定对象'xxx'的依赖关系”。)
请不要告诉我清理此设置中的所有文件并从头开始 - 这不是一个真正的解决方案! 我有5个项目有这个确切的错误,我不想重新安排每一个。 更重要的是,这并不能保证我将来不会再出现这个问题。
非常感谢!
答案 0 :(得分:42)
我曾经在他们停止工作时(无论出于何种原因)从头开始重建这些安装程序项目,但我发现了更快(并且不易出错)的解决方法。这个对我有用。也许它会对你有用。
它几乎每次都适用于我......
约翰
答案 1 :(得分:22)
hotfix没有解决我的计算机上的问题(在两台计算机上试过,重新启动了所有爵士乐)
相反,我使用源代码控制来弄清楚我的.vdproj发生了什么。
在.vdproj的"File"
部分中添加了额外损坏的条目。
假设您收到错误,例如
错误:无法更新项目的依赖项。无法确定对象'AutoMapper.DLL'的依赖关系。
在你的.vdproj搜索AutoMapper时,你会遇到几个使用它的地方。
正常情况如下:
"{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"
而损坏的块在ScatterAssemblies
部分缺少dll的名称(本例中为AutoMapper.DLL)。
删除此损坏的条目,即从"{9F6F8455-..
开始到下一个大块的整个部分。
答案 2 :(得分:5)
我通过手动编辑csproj并删除Hierarchy和File部分然后重建vdproj来修复此问题
请参阅:this
答案 3 :(得分:2)
这对我有用:
如果存在some_project.vshost.exe已锁定文件,请在VS中打开此项目的属性,并取消选中"启用Visual Studio托管过程"正在调试中。然后将其删除。它现在应该建立。
答案 4 :(得分:1)
support.microsoft.com/kb/2286556
感谢汉斯,这次更新解决了我的问题。
答案 5 :(得分:1)
这是从@ timB33的外部链接复制而来的。 MS修补程序的所有链接似乎都已损坏,因此这是我无法删除并重新创建安装项目的唯一方法。
我一直使用这种方法来解决这个问题而不是重建我的安装项目。这适用于合并模块项目和安装项目。手动删除项目文件的“层次结构和文件”部分中的数据。
打开.VDPROJ文件
找到"层次结构"部分。删除所有内容,以便该部分如下所示: "层次" { }
找到"文件"部分。删除所有内容,以便该部分如下所示: "文件" { }
重新加载项目
重建项目。
- 醇>
如果遗漏某些内容,您可能需要重新添加项目输出