c# – Winforms designer:可以以编程方式实现项目变量?
发布时间:2020-12-15 21:38:54 所属栏目:百科 来源:网络整理
导读:我正在使用C# Winforms,.net 4.0,我正在设计一些设计时组件.我的目标是让设计人员查找驻留的特定文件(项目目录或输出目录). 反正我是否从代码中找到以下变量的值? (outpath中) (PROJECTDIR) 解决方法 好吧,如果你可以访问代表你的Visual Studio实例的EnvDTE
我正在使用C#
Winforms,.net 4.0,我正在设计一些设计时组件.我的目标是让设计人员查找驻留的特定文件(项目目录或输出目录).
反正我是否从代码中找到以下变量的值? (outpath中) 解决方法
好吧,如果你可以访问代表你的Visual Studio实例的EnvDTE80.DTE2,那就不那么困难了.事实上,如果dte是你的DTE2实例,它就像下面这样简单:
foreach (Project prj in dte.Solution.Projects) { MessageBox.Show(Path.GetDirectoryName(prj.FullName)); MessageBox.Show(prj.ConfigurationManager.ActiveConfiguration.Properties.Item("OutputPath").Value.ToString()); } 如果您正在编写外接程序,那么获取DTE2对象很容易,因为它是传递给OnConnection的第一个参数(外接程序项目的向导会自动编写将其放在Connect类的_applicationObject变量中的代码). 如果您只有组件,则可以获取Site属性,该属性实现ISite,它来自IServiceProvider,并要求它获取DTE2.如果compo是你的组件: dte = (DTE2)compo.Site.GetService(typeof(DTE2)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |