问题标签 [envdte]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
118 浏览

visual-studio - 从 DTE 打包 SharePoint 解决方案

有没有办法将 SharePoint 解决方案从 Visual Studio dte 打包到 .wsp 文件中?

我可以使用以下命令构建解决方案:

但这并没有打包项目。

注意:我尝试使用 Powershell/PowerConsole 执行此操作,但这与我以其他方式访问 $dte 相同。

0 投票
0 回答
1371 浏览

visual-studio - 等待 Visual Studio DTE ExecuteCommand 完成

使用 Visual Studio DTE,我可以使用 ExecuteCommand 方法执行命令。但是,它们是异步执行的。我想等到 ExecuteCommand 方法完成后再调用下一个方法。有没有办法同步调用 ExecuteCommand ?

0 投票
2 回答
2743 浏览

nuget - 使用 nuget 包添加自定义构建步骤

我正在开发一个 nuget 包,它将设置当前项目以使用我公司的程序集版本控制标准。除了添加自定义构建步骤之外,我已经完成了我想要的一切(到目前为止)。

从历史上看,这是通过直接编辑 .csproj 文件并将几个新标签添加到 xml 中手动完成的。这些都是 ...

  • 物业集团
  • 目标

它实际上成功地添加了它们,但我是通过编辑 xml 而不是通过install.ps1中$project参数中的 EnvDTE 对象来完成的。但是我收到一条消息,询问我是否要放弃我的更改。

在我进行更改之前,我已经添加$project.Save()到我的脚本中并且摆脱了弹出窗口,我只是得到一个告诉我项目已更改并询问我是否要重新加载它的人。哪个更好,但仍然不是很完美。

有一个更好的方法吗?

0 投票
2 回答
230 浏览

.net - 如何强制从 EnvDTE.Thread 强制转换为 System.Threading.Thread?

在 VS 扩展项目中,我正在尝试创建进程线程的映射,同时转换为 EnvDTE.Thread(以访问 Freeze 和 Thaw 方法)和 System.Threading.Thread(以访问 ManagedThreadId 属性)。

理想情况下应该如下,但是强制转换不会编译,说它不能从 System.Threading.Thread 强制转换到 EnvDTE.Thread。

我怎么能强制转换,知道它不会抛出异常(除非我在这里遗漏了什么)?

编辑:它确实抛出了 InvalidCastException。

0 投票
1 回答
439 浏览

visual-studio-2010 - Web 应用程序项目 URL - 来自 EnvDTE

是否可以从 EnvDTE Project 对象获取 Web 应用程序项目的 URL?

即,当我查看项目属性中的 Web 选项卡时,我想要在 Visual Studio 中看到的 URL。

理想情况下,如果项目设置为“使用 Visual Studio 开发服务器”或“使用本地 IIS 服务器”,我希望能够检索它

0 投票
1 回答
884 浏览

visual-studio - 从 VS2010 扩展的当前解决方案中的程序集中获取类型信息

我正在为 VS2010 中的 UML 序列图构建命令扩展,并且需要在当前解决方案中实现特定接口的类型列表。如何从扩展中访问类型和程序集信息?到目前为止,我所有的尝试都只是列出了原始扩展项目中加载的程序集,而不是 VS 当前正在编辑的程序集。

0 投票
1 回答
99 浏览

visual-studio - 获取 Visual Studio 序列图的 IMonitorSelectionService 实例

我正在尝试创建一个与序列图设计器一起工作的 Visual Studio 扩展,并且我希望能够注册一个事件,该事件将在图表上的选择更改时通知我。IMonitorSelectionService接口似乎提供这样的事件,但我不知道如何从 VSPackage 获取此服务的实例。

为了获得此服务的实例,我需要做什么,或者我可以使用其他更容易访问的事件吗?

0 投票
5 回答
8366 浏览

visual-studio-2010 - Visual Studio 2010 DTE:如何使添加的 DLL 引用成为绝对而不是复制

概括:

当您添加特定的 DLL 时,我们需要使用 DTE 复制“添加引用”对话框的行为(它在 CSProj 文件中的引用中添加了一个提示路径条目)。

**注意:我在这里发布了另一个相关但不重复的帖子:https ://stackoverflow.com/questions/6690655/visual-studio-2010-add-in-how-to-get-a-references-提示路径属性有关此问题的更多信息,另请阅读该内容。我现在已经添加了一个体面的赏金来得到这个答案,并且很乐意对任何体面的答案进行投票:)*

到目前为止的故事:

我正在使用 DTE 以编程方式将项目引用转换为直接 DLL 引用。

假设我有一个简单的解决方案,其中一个Project2项目)引用了一个Project1子项目),我进行如下更改:

其中 project1DllPath 指的是"c:\somewhere\Project1\Bin\Debug\Project1.dll"文件。

我还不能解决的问题是新的引用不是指向 "c:\somewhere\Project1\Bin\Debug\Project1.dll"而是指向 "c:\somewhere\Project2\Bin\Debug\Project1.dll"(并且文件被复制到那里)。

如果我使用“添加引用”菜单直接/手动添加 DLL,它不会进行此复制。

如何将 DLL 引用添加到现有项目的 DLL,而不需要复制并引用它?

我尝试dllReference.CopyLocal = false;在 Add 之后添加,但除了设置标志之外它没有任何区别。创建后似乎没有修改路径的选项。

更新:我还尝试以编程方式从 Project2 中删除对 Project1 的任何 Build 依赖项,但这没有任何效果。

以下是 csproj 文件之间的区别:

作为一个项目:

作为 DLL 参考(路径完全丢失):

作为手动引用的 DLL:

看起来能够为 DLL 引用指定提示路径是关键。如何在 DLL 引用上设置提示路径(假设您只有 Reference 属性的句柄)?

更多信息(2011 年 7 月 20 日):

下面Muse VSExtensions的建议不会影响相关 DLL,因为已经从 DLL 的项目 BIN 复制到父项目的 BIN 文件夹。父项目不需要使用引用路径,因为它的输出文件夹中已经有子 DLL。

项目的 .csproj.user 文件也Reference Paths保存到项目.csproj.user 文件中,而不是项目.csproj 文件中。

0 投票
4 回答
5900 浏览

c# - 在不使用 item.Document.FullName 的情况下获取 ProjectItem 路径

我有一个 Visual Studio 插件项目,我必须使用这些文件的绝对(或相对)路径来遍历当前项目的项目。

item.Document.FullName有效,但仅适用于当前打开的文件 。

有没有其他方法可以访问DTE对象中的这些信息?

0 投票
2 回答
399 浏览

visual-studio - Visual Studio 调试器可扩展性 - 如何遵循 VS 调试器源文件路径重定向?

我在写一个VS扩展,需要知道用户当前正在调试的文件的全路径,想支持pdb中写的源路径不正确,提示用户查找的场景在别处归档。

如果我执行以下操作:

1) 调试其 PDB 指向位置 A 的代码文件的 DLL

2)将代码文件移动到不同的位置,B

3) 当提示打开文件对话框时,指示调试器将代码定位在位置 B

然后打开该文件,Visual Studio 似乎“记住”了这个重定向,并且即使在我重新启动它之后也会知道在位置 B 中查找该文件。

我的问题是,IDebugStackFrame2/EnvDTE.StackFrame 对象都给了我旧的、不正确的代码文件路径——我想要正确的路径,这样我就可以从中读取源代码!Visual Studio 是否以任何方式公开此间接表?

如何获取源文件的文本?

PS我尝试将 VsShellUtilities.OpenDocument 方法与旧的、不正确的路径一起使用,但它会抛出一个找不到文件的方法。