[英]How to develop a Microsoft Office AddIn without Visual Studio
[英]How to use Visual Studio FileCodeModel without the Addin infrastructure?
Visual Studio可擴展性上的所有示例都傳遞了一個DTE2
對象,如下所示:
public void OnConnection(object application, ...)
{
_applicationObject = (DTE2)application;
...
}
如果沒有通過Addin傳遞DTE2
對象,是否無法訪問FileCodeModel
對象? 我想編寫一個獨立的C#控制台應用程序(不使用VS Addin基礎結構),該應用程序讀取一個.cs文件並使用FileCodeModel
類對其進行解析。
FileCodeModel fileCM = dte.ActiveDocument.ProjectItem.FileCodeModel;
當然,為了使以上操作有效, dte
對象必須可用。 相反,難道沒有像以下虛構的方法那樣不依賴DTE2
對象的方法嗎?
FileCodeModel fileCM = new FileCodeModel.ReadCsFile(filepathname);
(PS:我知道Visual Studio 2013中發生了變化,但是我仍在使用Visual Studio2010。)
您需要一個DTE實例來使用代碼模型,但是您可以在VS之外獲得一個DTE實例:
HOWTO:從IDE外部自動化Visual Studio .NET。 http://www.visualstudioextensibility.com/articles/add-ins/
您也可以在不使用Visual Studio的情況下使用.NET編譯器平台(“ Roslyn”):
http://www.visualstudioextensibility.com/documentation/compiler/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.