在C#程序编译另一个程序的实现方法

1、C#程序编译编译前,要用到VS2005提供的一个编译工具 devenv.exe,这个在VS安装目录\Common7\IDE 下可以使用控制台命令:

公司主营业务:做网站、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出莫力达免费做网站回馈大家。

 
 
 
  1. devenv /rebuild debug "【sln path】" 

2、C#程序编译在代码中要运行指定的程序,可以使用process方法:

 
 
 
  1. using System.Diagnostics  
  2. System.Diagnostics.Process.StartInfo   
  3. info=new StartInfo();   
  4. info.FileName="你想要用的特定的程序";   
  5. Info.Arguments="要打开的文件:;   
  6. System.Diagnostics.Process.Start(info);   

3、在C#程序编译的实际使用过程中会遇到一个问题:各人VS安装目录不同,程序中调用devenv的路径就不同。解决这个问题的方法就是读取注册表中的vs的ApplicationPath键值(这个在前面有过介绍)综上,实现方法如下:

 
 
 
  1. using System.Diagnostics;  
  2. using Microsoft.Win32;  
  3.  
  4. private const string REGISTKEY ="  
  5. SOFTWARE\\Microsoft\\MSEnvCommunityContent  
  6. \\ContentTypes\\Addin\\ContentHosts\\  
  7. 1.0\\Visual Studio 2005";  
  8.  
  9. RegistryKey rkey = Registry.LocalMachine;  
  10. //The second parameter tells it to open   
  11. the key as writable  
  12. RegistryKey rkey1 = rkey.OpenSubKey  
  13. (REGISTKEY, true);  
  14. string visualStudio8Path = rkey1.GetValue(  
  15. "ApplicationPath").ToString();  
  16.  
  17. ProcessStartInfo startInfo =   
  18. new ProcessStartInfo(visualStudio8Path);  
  19. startInfo.Arguments = "/rebuild debug " 
  20.                 + "【sln path】";  
  21.  
  22. Process process = new Process();  
  23. process.StartInfo = startInfo;  
  24.  
  25. process.Start();  
  26. process.WaitForExit(); 

分享名称:在C#程序编译另一个程序的实现方法
分享链接:http://www.hantingmc.com/qtweb/news10/40110.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联