9得票2回答
你能在预构建事件中使用EnvDTE执行RunCustomTool吗?

我正在使用T4MVC,但无法使用预构建事件运行TextTransform.exe,因为它依赖于EnvDTE,并且必须在Visual Studio中作为主机运行。 如果我已经运行了自定义工具,它会很好地工作,因为当其执行时会标记自身为脏文件(AlwaysKeepTemplateDirty = ...

8得票2回答
Visual Studio属性表中的平台工具集属性

<PlatformToolset/> 属性没有通过项目属性表暴露出来。这很不幸,因为如果您要升级编译器(在我的情况下是到VS 2013),我必须运行几个分布在多个解决方案上的项目来更改此值。 我可以编写一个脚本或小程序,可以打开 vcxproj 文件,将它们视为 xml 并在所有策...

8得票5回答
Visual Studio 2010 DTE:如何使添加的DLL引用绝对而不是复制

概述: 我们需要使用DTE复制添加引用对话框的行为,当您添加特定的DLL时(它会在CSProj文件中的引用中添加提示路径条目)。 **注意:这里还有一个相关但不是重复的帖子,链接在这里:https://stackoverflow.com/questions/6690655/visual-s...

8得票1回答
使用EnvDTE在现有的C#文件中编程添加函数

我想要通过编程将一个函数(TestMethod)添加到现有的C#文件中。 经过一些谷歌搜索,我找到了库EnvDTE和CodeModel.AddFunction方法,但我找不到想要的好示例。 我希望能够在新创建的函数中添加代码和属性。类似于这样的东西: /// <summary> ...

8得票2回答
如何在 T4 模板中获取枚举类型

在编写 T4 文本模板的过程中,我遇到了一个问题,很难解决。我需要知道正在处理的枚举类型。 我的枚举类型基于 `byte` 和 `ushort`。 我需要 T4 文本模板编写代码以将枚举强制转换为正确的值类型,以便将枚举序列化并将其放入字节数组中。 下面是一个 `byte` 类型的示例枚举...

8得票2回答
如何获取上次构建的输出目录?

假设我有一个包含一个或多个项目的解决方案,并且我刚刚使用以下方法启动了构建: _dte.Solution.SolutionBuild.Build(true); // EnvDTE.DTE 我怎样才能获取每个刚刚构建的项目的输出路径?例如... c:\MySolution\Projec...

8得票2回答
在VisualStudio的DTE中,如何获取ActiveDocument的内容?

我是在VisualStudio中编写脚本,尝试获取当前ActiveDocument的内容。 这是我的当前解决方案: var visualStudio = new API_VisualStudio_2010(); var vsDTE = visualStudio.VsAddIn.VS_Dt...

8得票1回答
在Visual Studio中,我如何以编程方式执行“转到定义”操作?

给定一个表示特定类/字段/属性的字符串(例如 MyNameSpace.MyClass 或 System.String.Length),我怎样才能通过编程使Visual Studio跳转到该类/字段/属性(即,使Visual Studio执行与在代码编辑器中键入引用并按下F12所发生的相同操作)?

8得票1回答
如何以编程方式找出解决方案中每个启动项目的操作?

在“解决方案属性”下,我可以设置多个启动项目: 我知道我可以通过使用EnvDTE获取标记为“开始”的项目列表:solution.SolutionBuild.StartupProjects,但是如何获取动作为“启动而不调试”的项目列表?它们不会出现在列表中。

8得票1回答
Visual Studio扩展:使用IVsSolutionEvents OnAfterOpenSolution等待所有项目完成加载

我正在寻找一个事件/接口,用于在打开解决方案后通知我所有项目都已加载。我已经在IVsSolutionEvents2接口中实现了OnAfterOpenSolution。这个函数会在解决方案打开后立即调用...所以任何针对UI线程的代码,即使是异步的,也会在项目加载之前锁定IDE。是否有类似的技术...