Visual studio 2010 使用devenv.com编译安装项目-“;错误:无法更新项目的依赖项";

Visual studio 2010 使用devenv.com编译安装项目-“;错误:无法更新项目的依赖项";,visual-studio-2010,devenv,vdproj,Visual Studio 2010,Devenv,Vdproj,我在VS2010中有一个安装部署项目。 该项目使用VS 2010的GUI界面进行完美编译,但每当我试图通过VS cmd(devenv.com)进行编译时,都会出现以下错误: ERROR: Unable to update the dependencies of the project. 请注意,错误中没有提到dll(例如,错误不包含“无法确定对象“xxx”的依赖项”) 请不要告诉我清理此设置中的所有文件并从头开始-这不是一个真正的解决方案! 我有5个项目与这个确切的错误,我不想重新安排每一个。

我在VS2010中有一个安装部署项目。 该项目使用VS 2010的GUI界面进行完美编译,但每当我试图通过VS cmd(devenv.com)进行编译时,都会出现以下错误:

ERROR: Unable to update the dependencies of the project.
请注意,错误中没有提到dll(例如,错误不包含“无法确定对象“xxx”的依赖项”)

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


非常感谢

我通过手动编辑vdproj并删除层次结构和文件部分,然后重建vdproj来修复此问题

请参阅:

谢谢Hans,此更新修复了我的问题。

没有在我的计算机上修复此问题(在两台计算机上进行了尝试,重新启动了所有jazz)

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

似乎额外的损坏条目被添加到了.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"
然而,
ScatterAssemblies
部分中的损坏块缺少dll的名称(本例中为AutoMapper.dll)


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

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

  • 通过IDE从解决方案中删除安装程序项目 接口
  • 将安装程序项目重新添加到解决方案中(添加> 现有项目…)
  • 重建
  • 它几乎每次对我都有效…

    这对我有效:

  • 从VS2010运行清除解决方案命令
  • 在资源管理器中打开源代码文件夹
  • 搜索*.exe文件,按位置排序
  • 手动删除发布文件夹中的所有文件

  • 如果存在某个_project.vshost.exe锁定文件,请在VS中打开此项目的属性,然后取消选中“启用Visual Studio宿主进程”“在调试下。然后将其删除。它应该立即生成。

    这是从@timB33的外部链接复制的,该链接可以正常工作。指向MS修补程序的所有链接似乎都已断开,因此这是我在不删除和重新创建安装项目的情况下找到的唯一修复方法。”

    我一直使用此方法来绕过此错误,而不是重建我的安装项目。这适用于合并模块项目和安装项目。手动删除项目文件的层次结构和文件部分中的数据

  • 打开.VDPROJ文件

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

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

  • 重新加载项目

  • 重建项目

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


  • 此热修复程序的链接已断开。安装VS2010 Service Pack 1修复了此问题。感谢@BrainCoder-我重新启动,然后在尝试构建MSI时出现TFS错误。一旦我签出MSI项目,它就开始工作了。(如果您有SP1,我猜您不需要热修复程序).Hotfix链接已断开。这对我来说也很有效,尽管后来我不得不修复桌面和程序菜单的快捷目标。是的,有时我必须重新链接一些东西,但它确实为我节省了大量时间和浪费的调试工作。:)然而,我起初并不相信这种方法,“删除出错的.vdproj,然后再次添加现有的.vdproj项目"这种方法对我很有效。在Visual studio 2010中,删除和添加安装项目的问题与Sandeep一样,对meSame评论非常有效。我不相信它会起作用,直到,boom,这就是它的全部内容。要删除我锁定的文件,我关闭VS,删除,然后重新启动它。这让我怀疑,是否只是重新启动VS would已经修复了它(它有时会修复奇怪的错误…)我已将外部链接的解决方案复制到此线程。在没有建议的热链接的情况下,这对我很有效。关闭VS,编辑vdproj文件,重新打开VS,第一次完美地构建了项目。对我来说,这很有帮助,但还不够。然后我必须在解决方案资源管理器中打开检测到的依赖项,然后排除所有的DLLs在列表中。之后,它成功构建。在解决马拉松合并冲突后,我突然遇到了这个问题,我有两个部分的ScatterAssemblies部分为空。remove and re add installer回答没有为我解决这个问题。