为什么VS会出现Projectitemvs网络连接不可用用

VS插件开发:如何获取VS解决方案资源管理器中文件夹、文件的重命名事件 -C#- TryCatch
>> Content
VS插件开发:如何获取VS解决方案资源管理器中文件夹、文件的重命名事件
如题:如何获取VS解决方案资源管理器中文件夹、文件的重命名事件
------Solutions------
&&&&&&&&&&&&DTE2&&&&&&&&&&&&&&&&&&&&&&&&&app.Events.SolutionItemsEvents.ItemRenamed&+=&(pitem,&oldName)=&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&//to&do...&&&&&&&&&&&&}&&&&&&&&&&&&app.Events.SolutionEvents.ProjectRenamed&+=&(prj,&oldName)=&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&//to&do...&&&&&&&&&&&&};
------Solutions------
楼上的不错啊。vsx技术群&欢迎
------Solutions------
引用&1&楼&bloodish&的回复:C#&code&&&&&&&&&&&&DTE2&&&&&&&&&&&&&&&&&&&&&&&&&app.Events.SolutionItemsEvents.ItemRenamed&+=&(pitem,&oldName)=&&&&&&&&&&&&&{&&&&&&&&&&&&&&&&//to&do...&&&&&&&&&&&&}&&&&&&&&&&&&ap……首先感谢您的关注,上面的方法我最初也都试过,但就是不行,不知道出错在哪里,我自己又新建新的插件工程测试还是不行///&&summary&实现&IDTExtensibility2&接口的&OnConnection&方法。接收正在加载外接程序的通知。&/summary&///&&param&term='application'&宿主应用程序的根对象。&/param&///&&param&term='connectMode'&描述外接程序的加载方式。&/param&///&&param&term='addInInst'&表示此外接程序的对象。&/param&///&&seealso&class='IDTExtensibility2'&/&public&void&OnConnection(object&application,&ext_ConnectMode&connectMode,&object&addInInst,&ref&Array&custom){_applicationObject&=&(DTE2)_addInInstance&=&(AddIn)addInI&&&&&&&&&&&&if&(connectMode&==&ext_ConnectMode.ext_cm_AfterStartup&)&&&&&&&&&&&&{&&&&&&&&&&&&&&&//&_applicationObject.Events.SelectionEvents.OnChange&+=&new&_dispSelectionEvents_OnChangeEventHandler(SelectionEvents_OnChange);//这方法有效&&&&&&&&&&&&&&&&_applicationObject.Events.SolutionItemsEvents.ItemAdded&+=&new&_dispProjectItemsEvents_ItemAddedEventHandler(SolutionItemsEvents_ItemAdded);//无效果&&&&&&&&&&&&&&&&_applicationObject.Events.SolutionItemsEvents.ItemRemoved&+=&new&_dispProjectItemsEvents_ItemRemovedEventHandler(SolutionItemsEvents_ItemRemoved);//无效果&&&&&&&&&&&&&&&&_applicationObject.Events.SolutionItemsEvents.ItemRenamed&+=&new&_dispProjectItemsEvents_ItemRenamedEventHandler(SolutionItemsEvents_ItemRenamed);//无效果&&&&&&&&&&&&}}&&&&&&&&void&SelectionEvents_OnChange()&&&&&&&&{&&&&&&&&&&&&MessageBox.Show("selection&change");&&&&&&&&}&&&&&&&&void&SolutionItemsEvents_ItemRenamed(ProjectItem&ProjectItem,&string&OldName)&&&&&&&&{&&&&&&&&&&&&MessageBox.Show(OldName);&&&&&&&&}&&&&&&&&void&SolutionItemsEvents_ItemRemoved(ProjectItem&ProjectItem)&&&&&&&&{&&&&&&&&&&&&MessageBox.Show("remove");&&&&&&&&}&&&&&&&&void&SolutionItemsEvents_ItemAdded(ProjectItem&ProjectItem)&&&&&&&&{&&&&&&&&&&&&MessageBox.Show("add");希望知道我错在哪的、或有别的思路的朋友说一下,感谢不尽!!!
------Solutions------
try...((EnvDTE80.Events2)_applicationObject.Events).ProjectItemsEvents.ItemRenamed
------Solutions------
引用&4&楼&bloodish&的回复:try...C#&code((EnvDTE80.Events2)_applicationObject.Events).ProjectItemsEvents.ItemRenamed非常感谢,按照您的这种方式实现了工程、文件夹、文件的重命名!(C#环境下使用)现在项目要求,开发的插件要用在VC++环境下,这样的做法会出两个功能实现不了,但这些功能切是项目的最终需求1、//这方法对VC++的工程重命名无效((EnvDTE80.Events2)_applicationObject.Events).SolutionEvents.ProjectRenamed+=...2、//当点击“解决方案资源管理器”的“显示所有文件”后,新建一个文件夹,这时再重命名就无效((EnvDTE80.Events2)_applicationObject.Events).ProjectItemsEvents.ItemRenamed+=...哎,这次项目就是用C#开发VC++用的插件,在插件里用的方法,在测试环境为C#、VC++产生的效果总有些不一样我也试过用 FileSystemWatcher&类去做,但也达不到效果
------Solutions------
不管是C#,VB.Net,C++/CLR,C++/ATL都可以开发VS&Addin,跟是否是C#开发Addin提供给VC++使用无关.请尝试:#1:((EnvDTE80.Events2)_applicationObject.Events).ProjectsEvents.ItemRenamed&#2:((EnvDTE80.Events2)_applicationObject.Events).MiscFilesEvents.ItemRenamed&
------Solutions------
引用&6&楼&bloodish&的回复:不管是C#,VB.Net,C++/CLR,C++/ATL都可以开发VS&Addin,跟是否是C#开发Addin提供给VC++使用无关.请尝试:#1:C#&code((EnvDTE80.Events2)_applicationObject.Events).ProjectsEvents.ItemRenamed&#2:C#&code((EnvDTE80.Eve……就等您的回复了,^-^哎,为什么在我这里这些事件都不触发,只要是运行是VC++,当重命名工程、文件夹就无效(对文件、筛选器有效)VC++中,文件夹中有分两种:1、筛选器(刚进入VS时,“解决方案资源管理器”的“显示所有文件”按钮是不选中的,该文件夹只存在于资源管理器中,但在硬盘上是没有目录对应的),NewFilter2、文件夹(当点击“解决方案资源管理器”的“显示所有文件”后,再新建的文件夹,该文件在硬盘上是存在的),重命名的事件需要 ProjectItem 参数,这个文件夹返回为Null,NewFolder已经是没想法了,昨天都搞了一天
------Solutions------
压抑啊,找不到很好的解决方案Visual Basic 和 Visual C# 中项目扩展性介绍
Visual Basic 和 Visual C# 中项目扩展性介绍
  Visual Studio .NET 包含一个可编程、非特定项目的对象模型,它提供对集成开发环境 (IDE) 的基础组件和事件的访问。该“常规扩展性”模型具有表示若干对象的组件,这些对象包括:解决方案、项目、工具窗口、代码编辑器、调试器、代码对象、文档和事件。此常规扩展性模型在自动化功能组中讨论。    Visual Studio .NET 还包含一个可编程对象模型,该模型公开 Visual Basic 和 Visual C# 项目及其所包含的项目项。该模型包含几个对象,这些对象可用于自动化 IDE 中的任务以及扩展项目类型和项目项。Visual Basic 和 Visual C# 项目的此模型在文档的本节讨论。    只要向任意项目添加对 VSLangProj.dll 程序集的引用,便可使用该对象模型。有关更多信息,请参见添加和移除引用。即,该对象模型可供宏、外接程序以及需要扩展或自动化 IDE 的任何类型的项目使用。宏是使用 Visual Basic .NET 在宏集成开发环境中编写的。这些主题中的示例是用 Visual Basic .NET 语言编写的。外接程序可以用任何 .NET 语言编写,包括 Visual Basic、Visual C#、C++ 和 JScript .NET。VSLangProj 成员的参考主题包括这些语言中的每一语言的语法。    VSLangProj 命名空间    该命名空间包含 Visual Basic 和 Visual C# 的所有类、接口和枚举。有关该命名空间中对象的完整列表,请参见用于项目的 Visual Basic 和 Visual C# 扩展性对象模型。    VSProject 对象    该对象提供对扩展性模型中的其他对象的访问。DTE 对象是 Visual Studio 自动化模型中的顶级对象。在常规扩展性模型中,项目由一般 Project 对象表示。Project 对象有个 Object 属性。该属性的类型在运行时由项目语言决定。在 Visual Basic 或 Visual C# 项目中,Object 属性返回一个 VSProject 类型的对象。由于 Object 属性的类型是 Object,因此您必须将引用转换为 VSProject 类型。在宏中,如果第一个项目是 Visual Basic 项目,那么转换可能类似于:    ' Macro editor  Dim proj As Project  Dim vsproject As VSLangProj.VSProject  proj = DTE.Solution.Projects.Item(1)  vsproject = CType(proj.Object, VSLangProj.VSProject)    有了对 VSProject 项的引用后,便可以操作项目的属性、配置、文件、文件夹、Imports 语句和引用了。    References 和 Reference 对象    VSProject 对象所包含的 References 对象存放 Reference 对象的集合。Reference 对象表示一个项目引用,它主要是个支持 Remove 方法的只读对象。References 对象支持添加引用(COM、.NET 程序集、ActiveX 和其他项目)和引发事件(添加、移除和更改引用)。    References 对象不包含项目的 Web 引用。项目的 Web 引用可通过访问 WebReferencesFolder 属性的 ProjectItems 属性来检索。    Imports 对象    VSProject 对象所包含的 Imports 对象维护“导入”(Imports) 语句的集合,这些语句应用于整个 Visual Basic 项目。当向该集合添加一条 Imports 语句时,不必将相应的 Imports 语句(例如 Imports VSLangProj)添加到代码文件。该对象支持添加和移除 Imports 语句以及为响应添加和移除语句而引发事件。Visual C# 项目中无等效对象,并且当应用于 Visual C# 项目时,VSProject.Imports 属性将返回 Nothing。    VSProjectItem 和 BuildManager 对象    VSProjectItem 对象是 VSProject 对象的项目项副本。在常规扩展性模型中,项目项由一般 ProjectItem 对象表示。ProjectItem.Object 属性的类型是 Object,而在 Visual Basic 或 Visual C# 项目中,该属性的类型是 VSProjectItem。在宏中,将该对象转换为 VSProjectItem 类型可能类似于:    ' Macro editor  Dim pi As VSProjectItem  pi = CType(DTE.Solution.Projects.Item(1).ProjectItems.Item(1).Object, _  VSProjectItem)  VSProjectItem 对象包含链接到父项目项和项目的属性,以及一个强制在该项上执行某自定义工具的方法。BuildManager 对象处理自定义工具输出。    Properties 属性    常规扩展性模型在三个对象中有 Properties 属性:    Project 对象  该对象中的属性等效于 IDE 中项目的“属性页”对话框的“通用属性”选项卡中的属性。    Configuration 对象  该对象中的属性等效于 IDE 中项目的“属性页”对话框的“配置属性”选项卡中的属性。    ProjectItem 对象  该对象中的属性等效于当在“解决方案资源管理器”中选择了一个项目项时“属性”窗口中的属性。    在每种情况下,Properties 属性都是 Property 类型的对象的集合。可通过指定属性的从 1 开始的索引或其名称,从该集合中获得 Property 对象。该集合的内容取决于语言。在项目项的情况下,此内容还取决于该项是文件还是文件夹。
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
港口与航道工程建设工程法规及相关知识建设工程经济考试大纲矿业工程市政公用工程通信与广电工程
操作系统汇编语言计算机系统结构人工智能数据库系统微机与接口
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
Powerpoint教程WPS教程
电子政务客户关系管理首席信息官办公自动化大数据
职称考试题目
就业指导签约违约职业测评
招生信息考研政治
网络安全安全设置工具使用手机安全
3DMax教程Flash教程CorelDraw教程Director教程
Dreamwaver教程HTML教程网站策划网站运营Frontpage教程
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
互联网电信IT业界IT生活
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
组织运营财务资本
视频播放文件压缩杀毒软件输入法微博
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&}

我要回帖

更多关于 vs2010项目不可用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信