知识大全 DTE .NET工程的自动化编译

Posted 工程

篇首语:见君一眼,倾卿一心,误我一生,伤我一心。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 DTE .NET工程的自动化编译相关的知识,希望对你有一定的参考价值。

DTE .NET工程的自动化编译  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  MSDN中描述DTE结构的示意图如下:

  

  

  VC 的代码如下:

  

  #pragma warning( disable : )

  //The following #import imports DTE based on its LIBID

  #import libid: cc f e d ddd b d e cd e e version( ) lcid( ) raw_interfaces_only named_guids

  #pragma warning( default : )

  using namespace EnvDTE; // optional

  

  //……

  

  void Ct Dlg::OnBnClickedOk()

  

  

  CoInitialize(NULL);

  

  _variant_t varRelease=L Release ;

  _bstr_t    bstrSlnPath=L C:\\\\test\\\\W \\\\W sln ;

  

  try

  

  CComPtr pZFIVE _DTE;

  _Solution  *pZFIVE _S=NULL;

  SolutionBuild *pZFIVE _SB=NULL;

  SolutionConfigurations *pZFIVE _SCs=NULL;

  SolutionConfiguration *pZFIVE _SC=NULL;

  

  pZFIVE _DTE CoCreateInstance(L VisualStudio DTE );

  pZFIVE _DTE >get_Solution(&pZFIVE _S);

  if(pZFIVE _S==NULL)

  

  pZFIVE _DTE >Quit();

  goto ZFive ComRet;

  

  

  pZFIVE _S >Open(bstrSlnPath);

  VARIANT_BOOL var;

  pZFIVE _S >get_IsOpen(&var);

  if (var==VARIANT_TRUE)

  

  pZFIVE _S >get_SolutionBuild(&pZFIVE _SB);

  if(pZFIVE _SB==NULL)

  

  pZFIVE _S >Release();

  pZFIVE _S=NULL;

  pZFIVE _DTE >Quit();

  goto ZFive ComRet;

  

  

  pZFIVE _SB >get_SolutionConfigurations(&pZFIVE _SCs);

  if(pZFIVE _SCs==NULL)

  

  pZFIVE _SB >Release();

  pZFIVE _SB=NULL;

  pZFIVE _S >Release();

  pZFIVE _S=NULL;

  pZFIVE _DTE >Quit();

  goto ZFive ComRet;                          

  

  

  pZFIVE _SCs >Item(varRelease &pZFIVE _SC);

  if(pZFIVE _SC!=NULL)

  

  pZFIVE _SC >Activate();

  pZFIVE _SC >Release();

  pZFIVE _SC=NULL;

  

  pZFIVE _SCs >Release();

  pZFIVE _SCs=NULL;

  

  pZFIVE _SB >Build(VARIANT_TRUE);

  pZFIVE _SB >Release();

  pZFIVE _SB=NULL;

  

  pZFIVE _S >Close( );

  

  else

  

  AfxMessageBox( 打开工程错误! );

  

  

  pZFIVE _S >Release();

  pZFIVE _S=NULL;

  pZFIVE _DTE >Quit();

  

  catch( )

  

  AfxMessageBox( 接口调用错误! );

  

  

  

  ZFive ComRet:

  ::CoUninitialize();

  return;

cha138/Article/program/net/201311/11426

相关参考

知识大全 详解.NET中的动态编译

详解.NET中的动态编译  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  代码的动态编译并执行是一

知识大全 详解.NET中的动态编译技术

详解.NET中的动态编译技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  代码的动态编译并执行

知识大全 详解.NET中的动态编译[1]

详解.NET中的动态编译[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  代码的动态编译并执

知识大全 详解.NET中的动态编译技术[1]

详解.NET中的动态编译技术[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  代码的动态编译

知识大全 针对不同.NET版本的条件编译

针对不同.NET版本的条件编译  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为了在NET下能够

知识大全 ASP.NET 2.0的编译模型

ASP.NET2.0的编译模型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  支持两种编译模型(

知识大全 详解.NET中的动态编译[3]

详解.NET中的动态编译[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!usingSystem

知识大全 详解.NET中的动态编译[5]

详解.NET中的动态编译[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对于客户端的输入程

知识大全 详解.NET中的动态编译[2]

详解.NET中的动态编译[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  需要解释的是这里我

知识大全 详解.NET中的动态编译[4]

详解.NET中的动态编译[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  接下来在原来基础上