﻿# 如何在 Visual Studio 2015 與 Visual Studio 2017 建立與偵錯 VSTO 專案

睽違了 9 年，終於再次有機會用到 VSTO 這門技術，[想當年](/post/2008/01/01/VSTO-2005-Learning-Note.aspx)我們還是用 VSTO 2005 開發專案的呢！不過這次就很不順了，連專案範本都無法建立，我同事則是用 Visual Studio 2015 可以開啟專案，不過卻無法成功執行與偵錯。卡關了數週之後，只好向微軟技術支援中心求助，直到今天才正式解決此問題。

先給各位看看我這邊建立失敗的情況，基本上我用 Visual Studio 2017 RC 建立專案後，只會產生方案檔，專案完全無法建立完成，也沒有彈出視窗，只有在螢幕最左下角看見一個「專案建立失敗」的消息：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/669a70b60f469a0b7b83-image_3008.png)

如果用 Visual Studio 2015 來開啟，則會出現以下錯誤：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/c1d7b9a0d434600ad4c0-image_3009.png)

先講結論：

> **雖然在 Visual Studio 2015 Enterprise 版本中可以建立 Office/SharePoint 範本專案，但是由於 Office 新版本中的問題還未修正與 Visual Studio 2015 整合的問題，因此最近這幾個版本都有可能會遇到這個錯誤。**

簡單說：

> **這是 Office 2016 特定版本的問題，只要降級 Office 2016 到某個穩定版本即可。**

### 如何調整 Office 2016 到較舊的更新版本？

1.  先設定 Office 2016 **停用更新**：\[檔案\] -> \[帳戶\] -> \[更新選項\] -> \[停用更新\]  
    [![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/b7b3fec97ee3d35ac232-image_3010.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/b7b3fec97ee3d35ac232-image_3010.png)  
      
    
2.  如上圖有個箭頭，他指明你目前用的 Office 2016 是走哪個 **通道** (Channel) 的版本，由於我這台電腦所安裝的 Office 2016 是從 Office 365 網站下載安裝的，且安裝的是「延後通道」的版本。  
      
    
3.  接著到 [Version and build numbers of update channel releases for Office 365 clients](https://technet.microsoft.com/en-us/library/mt592918.aspx) 查出舊版的版本編號，記得要依據你目前的 Office 2016 安裝所用的通道，來決定舊版的版本編號。  
    [![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/e7e51fb157cc5d66f094-image_thumb_224.png "image")](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/0487e9f80425e1896036-image_3011.png)  
      
    
4.  再來開啟「命令提示字元」視窗 ( 必須以系統管理員身分開啟)，然後執行以下命令：  
      
    **cd %programfiles%\\Common Files\\Microsoft Shared\\ClickToRun  
    officec2rclient.exe /update user updatetoversion=16.0.xxxx.yyyy  
      
    **
5.  基本上就是一個版本一個版本的 try，更新完一版，在開 Visual Studio 2015/2017 新增專案，看能不能成功建立專案或進入偵錯，如果不可以就再換更舊一點的版本。如下圖示：  
    [![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/92474a7a388c2fbdfdf4-image_3012.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/92474a7a388c2fbdfdf4-image_3012.png)  
      
    我最後測試出來，**可以成功建立專案的版本如下**，應該直接照著打就可以完成更新：  
    **cd %programfiles%\\Common Files\\Microsoft Shared\\ClickToRun  
    officec2rclient.exe /update user updatetoversion=16.0.6965.2092  
      
    **

**相關連結**

-   [Version and build numbers of update channel releases for Office 365 clients](https://technet.microsoft.com/en-us/library/mt592918.aspx)
-   Unable to create any VSTO projects - Project Creation Failed - 0x80010105
-   [How to revert to an earlier version of Office 2013 or Office 2016 Click-to-Run](https://support.microsoft.com/en-us/kb/2770432)
-   [Office 方案開發概觀 (VSTO)](https://msdn.microsoft.com/zh-tw/library/hy7c6z9k.aspx)
