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

Ora*_* SA 27 vdproj visual-studio-2010 devenv

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

ERROR: Unable to update the dependencies of the project.
Run Code Online (Sandbox Code Playgroud)

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

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

非常感谢!

Joh*_*tch 46

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

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

它几乎每次都适合我......

约翰

  • 我首先不相信这种方法,然而,"删除错误.vdproj然后再添加现有的.vdproj项目"方法对我有用. (2认同)

wal*_*wal 26

修补程序没有解决我的计算机上的问题(在两台计算机上尝试,重新启动所有爵士乐)

相反,我使用源代码控制来弄清楚我的.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"
Run Code Online (Sandbox Code Playgroud)

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

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

  • 解决了马拉松合并冲突后,这个问题就出现了,我的两个部分的ScatterAssemblies部分为空。删除并重新添加安装程序的答案对我来说并没有解决问题。 (2认同)

tim*_*B33 5

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

看到:这个


Ora*_* SA 1

support.microsoft.com/kb/2286556

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

  • 修补程序链接已损坏 (2认同)