visual studio 2010 使用devenv.com編譯安裝項目-“錯誤:無法更新項目的依賴關係”




visual-studio-2010 vdproj (5)

這對我工作:

  1. 從VS2010運行一個乾淨的解決方案命令
  2. 在瀏覽器中打開源代碼文件夾
  3. 搜索* .exe文件,按位置排序
  4. 手動刪除版本文件夾中的所有文件

如果存在some_project.vshost.exe鎖定文件,請在VS中打開此項目的屬性,並在調試下取消選中“啟用Visual Studio宿主進程”。 然後刪除它。 它應該現在建立。

我在VS 2010有一個安裝部署項目。該項目與VS 2010的GUI界面完美編譯,但任何時候我試圖通過vs cmd(devenv.com)編譯它出現這個錯誤:

ERROR: Unable to update the dependencies of the project.

請注意,錯誤中沒有提到dll(例如,錯誤不包含“無法確定對象xxx的依賴關係”)。

請不要告訴我清理這個設置中的所有文件,並從頭開始 - 這不是一個真正的解決方案! 我有5個項目有這個確切的錯誤,我不想重新安排每一個。 更何況,這並不能保證這個問題不會在未來重演。

非常感謝!


我曾經從頭開始重新構建這些安裝程序項目(無論出於何種原因),但是我發現了一個更快(而且更不容易出錯)的解決方法。 這個對我有用。 也許它會為你工作。

  1. 通過IDE接口從解決方案中刪除安裝程序項目
  2. 將安裝程序項目添加回您的解決方案(添加>現有項目...)
  3. 重建

它幾乎每次都適用於我...

約翰


這是@ timB33的外部鏈接,它的作品。 到MS修補程序的所有鏈接似乎都被破壞,所以這是唯一的方法,我可以找到修復,而無需刪除和重新創建安裝項目。

我一直使用這種方法來解決這個bug,而不是重建我的安裝項目。 這適用於合併模塊項目和安裝項目。 手動刪除項目文件的“層次結構和文件”部分中的數據。

  1. 打開.VDPROJ文件

  2. 找到“層次”部分。 刪除所有內容,使得部分看起來像這樣:“Hierarchy”{}

  3. 找到“文件”部分。 刪除一切,所以這個部分看起來像這樣:“File”{}

  4. 重新加載項目

  5. 重建項目。

  6. 如果缺少某些東西,您可能需要重新添加項目輸出



修補程序沒有解決我的計算機上的問題(在兩台計算機上嘗試,重新啟動所有爵士樂)

相反,我使用源代碼控制來找出我的.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-..開始到下一個塊。





vdproj