gpt4 book ai didi

c# - Winforms 设计器 : Possible to programmatically achieve Project Variables?

转载 作者:行者123 更新时间:2023-11-30 12:49:19 25 4
gpt4 key购买 nike

我在 C# Winforms、.net 4.0 中工作,并且正在设计一些设计时组件。我的目标是让设计人员查找驻留在(项目目录或输出目录)中的特定文件。

我是否可以从代码中找到以下变量的值?

(出路)(项目目录)

最佳答案

好吧,如果您可以访问代表您的 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));

关于c# - Winforms 设计器 : Possible to programmatically achieve Project Variables?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11902313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com