27

我在 VS 2010 中有一个安装部署项目。该项目与 VS 2010 的 GUI 界面完美编译,但任何时候我尝试通过 vs cmd (devenv.com) 编译它都会出现以下错误:

ERROR: Unable to update the dependencies of the project.

请注意,错误中没有提到任何 dll(例如,错误不包含“无法确定对象 'xxx' 的依赖项”)。

请不要告诉我清理此设置中的所有文件并从头开始 - 这不是真正的解决方案!我有 5 个项目有这个确切的错误,我不想重新安排每个项目。不仅如此,这并不能向我保证该问题将来不会再次发生。

非常感谢!

4

6 回答 6

49

当它们停止工作时(无论出于何种原因),我曾经从头开始重建这些安装程序项目,但我发现了一种更快(并且更不容易出错)的解决方法。这个对我有用。也许它会为你工作。

  1. 通过 IDE 界面从您的解决方案中删除安装程序项目
  2. 将安装程序项目重新添加到您的解决方案中(添加 > 现有项目...)
  3. 重建

它几乎每次都对我有用......

于 2014-06-24T22:11:43.600 回答
29

修补程序没有解决我电脑上的问题(在两台电脑上试过,重新启动了所有爵士乐)

相反,我使用源代码管理来找出我的 .vdproj 发生了什么。

似乎额外的损坏条目被添加到"File".vdproj 的部分。

假设您遇到错误,例如

错误:无法更新项目的依赖关系。无法确定对象“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"

而损坏的块在该部分中缺少 dll 的名称(在本例中为 AutoMapper.DLL)ScatterAssemblies

删除这个损坏的条目,即从"{9F6F8455-..下到下一个块的整个部分。

于 2012-12-19T05:56:22.340 回答
5

我通过手动编辑 vdproj 并删除 Hierachy 和 File 部分然后重建 vdproj 来解决此问题

请参阅:安装项目错误:无法更新项目的依赖项

于 2012-06-20T07:17:00.680 回答
2

这对我有用:

  1. 从 VS2010 运行一个干净的解决方案命令
  2. 在资源管理器中打开源代码文件夹
  3. 搜索 *.exe 文件,按位置排序
  4. 手动删除 Release 文件夹中的所有文件

如果存在 some_project.vshost.exe 锁定文件,在 VS 中打开该项目的属性,并在调试下取消选中“启用 Visual Studio 托管进程”。然后也将其删除。它现在应该构建。

于 2015-06-24T17:08:57.017 回答
2

这是从@timB33 的外部链接复制的,该链接有效。MS 修补程序的所有链接似乎都已损坏,因此这是我在不删除和重新创建安装项目的情况下找到修复的唯一方法。

我一直使用这种方法来解决这个错误,而不是重建我的设置项目。这适用于合并模块项目和设置项目。手动删除项目文件的 Hierarchy and Files 部分中的数据。

  1. 打开 .VDPROJ 文件

  2. 找到“层次结构”部分。删除所有内容,使该部分如下所示:“层次结构”{}

  3. 找到“文件”部分。删除所有内容,使该部分如下所示:“文件”{}

  4. 重新加载项目

  5. 重建项目。

  6. 如果缺少某些内容,您可能需要重新添加项目输出

于 2015-10-07T09:11:40.927 回答
1

support.microsoft.com/kb/2286556

谢谢汉斯,这个更新解决了我的问题。

于 2012-09-05T09:07:37.500 回答