问三个有关Add-In技术的难题,恳请高手帮忙,该怎么解决


        问三个有关Add-In技术的难题,恳请高手帮忙<br />

以下三个问题能解决一个即结贴,如果有人解决多个,就加分结贴(每个问题50分),恕在下新手,分不多,各位高手见谅。

以下问题均是要在“核心自动化-EnDTE”中完成。

1. 用Add-in在vs2005环境中用模版新建一个Windows窗体的解决方案,然后通过代码操作此窗体,在窗体上添加一个按钮。直接运行,没有问题,相应的注册和委托都可以生成。问题是:如果我在添加完按钮后,再用模版向工程中添加一个类文件(有后缀为cs文件的类项目)的话,原先生成的窗体上的按钮就会缺少注册,也就是运行是就只是一个空白的窗体。现在就是如何能在添加完按钮后刷新一下当前的活动窗体?

我试了在添加完按钮后调用如下方法,再生成新的类,不管用。
VSProject2   prj   =   ((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));
prj.Refresh();


2. 我已经成功实现在项目中自动化地添加引用,但我一直没有试出来如何在项目中添加属性设置(Properties-> Settings.settings中新增一个用户属性)
添加引用如下就实现了:
        private   void   AddReferences(DTE2   dte)
        {
                VSProject2   theVSProject   =   ((VSProject2)(dte.Solution.Projects.Item(1).Object));
                References   refs   =   theVSProject.References;
                refs.Add( "VSLangProj2.dll ");
        }


3. 如何能自动化的在项目创建一个强类型的DataSet(假定连接字符串已经拥有),我已经实现从模版创建一个后缀为xsd的强类型数据集设计器,并已拿到其设计窗口:

        using   EnvDTE;
        using   EnvDTE80;

        public   void   AddStrongDataSet(DTE2   dte)
        {
                Solution2   soln;
                Project   prj;
                soln   =   (Solution2)applicationObject.Solution;
                ProjectItem   prjItem;
                String   itemPath;
                prj   =   soln.Projects.Item(1);
                itemPath   =   soln.GetProjectItemTemplate( "DataSet.zip ",   "CSharp ");
                prj.ProjectItems.AddFromTemplate(itemPath,   "MyDataSet.xsd ");
                prjItem   =   prj.ProjectItems.Item( "MyDataSet.xsd ");
                Window   desingner   =   prjItem.Open(Constants.vsViewKindDesigner);
                IDesignerHost   host   =   desingner.Object   as   IDesignerHost;
        }
但接下来怎么向此设计窗口中添加强类型的表,就不知道了。

如果有好的参考资料的话,如果能发给我一份的话也万分感谢。
chanfengsr@yaho
同样希望能找到能共同探讨Add-in话题的朋友!


C#语言 .net 程序开发

夜..... 10 years, 11 months ago

手机版回答问题测试!!!!

Tamakyi answered 10 years, 11 months ago

回答测试!!!!

Rocky answered 10 years, 11 months ago


(VS.80).aspx

求种发自真心 answered 10 years, 11 months ago


我也不懂。。。

handes answered 10 years, 11 months ago


楼主我是不知道 只有帮你顶

levi47 answered 10 years, 11 months ago


偶也不会...

兔子sky answered 10 years, 11 months ago

Your Answer