基於C#的ArcEngine二次開發30: visual studio沒有爲ToolsVersion14.0指定MSBuildToolsPath,指定的值的計算結果爲空字符串

目錄

1 知識點普及

2. 問題描述

3 問題原因

4 解決方案


1 知識點普及

在系統包含兩個regedit.exe,他們的位置是:

  • "C:\Windows\regedit.exe"
  • "C:\Windows\SysWOW64\regedit.exe"

2. 問題描述

今天使用 visual studio 2012 創建ArcGIS的Add-in插件項目結果報這樣一個錯誤:

visual studio沒有爲ToolsVersion14.0指定MSBuildToolsPath,指定的值的計算結果爲空字符串

3 問題原因

我電腦之前安裝了VS2015和VS2012,後來感覺VS2015不經常用,就手賤把VS2015給卸載,然後幹啥都正常,就創建Addin插件老師報錯

看到這個錯誤,我的第一直覺就是改註冊表,然後自覺的win+R,找到錯誤提示的註冊表位置,結果沒看到14.0;

剛開始以爲是缺少14.0,然後自己手動僞造了14.0的註冊表,還是不行;

把VS2012寫在重裝也不行,鬱悶半天

4 解決方案

經過一番折騰終於找到解決方案如下:

  • 確保已完全卸載 Visual Studio 2015(在“控制面板”->“程序”->“程序和功能”中,確保未列出 Visual Studio 2015)
  • 確保計算機上不存在以下注冊表項:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\4.0
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersion\4.0
  • 如果在 64 位操作系統上運行,請從註冊表的 32 位部分中刪除這些項。 爲此,請單擊“開始”->“運行”,鍵入“%WinDir%\SysWOW64\regedit.exe”,然後更改註冊表。【這一步很關鍵,一定要把64位註冊表的14.0刪掉】

結合剛開始的知識點普及,我們知道這個錯誤主要是因爲我們一般對註冊表的修改只是針對32位的,而這一次問題出在了64位的regedit.exe上了,下次一定得長記性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章