使用devenv.com编译安装项目 - “错误:无法更新项目的依赖项”

时间:2011-10-02 08:04:36

标签: visual-studio-2010 devenv vdproj

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

ERROR: Unable to update the dependencies of the project.

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

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

非常感谢!

6 个答案:

答案 0 :(得分:42)

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

  1. 通过IDE从解决方案中删除Installer项目 接口
  2. 将安装程序项目添加回您的解决方案(添加>     现有项目......)
  3. 重建
  4. 它几乎每次都适用于我......

    约翰

答案 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)

这对我有用:

  1. 从VS2010
  2. 运行清洁解决方案命令
  3. 在资源管理器中打开源代码文件夹
  4. 搜索* .exe文件,按位置排序
  5. 手动删除Release文件夹中的所有文件
  6. 如果存在some_project.vshost.exe已锁定文件,请在VS中打开此项目的属性,并取消选中"启用Visual Studio托管过程"正在调试中。然后将其删除。它现在应该建立。

答案 4 :(得分:1)

support.microsoft.com/kb/2286556

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

答案 5 :(得分:1)

这是从@ timB33的外部链接复制而来的。 MS修补程序的所有链接似乎都已损坏,因此这是我无法删除并重新创建安装项目的唯一方法。

我一直使用这种方法来解决这个问题而不是重建我的安装项目。这适用于合并模块项目和安装项目。手动删除项目文件的“层次结构和文件”部分中的数据。

  
      
  1. 打开.VDPROJ文件

  2.   
  3. 找到"层次结构"部分。删除所有内容,以便该部分如下所示:   "层次"   {   }

  4.   
  5. 找到"文件"部分。删除所有内容,以便该部分如下所示:       "文件"       {       }

  6.   
  7. 重新加载项目

  8.   
  9. 重建项目。

  10.   
  11. 如果遗漏某些内容,您可能需要重新添加项目输出

  12.