未能运行"C:\Program Files\Microsoft Visual Studio .Net 2003\VC#\CSharpProjectItems\..\CSharpAddWebFormWiz.vsz"向导

洗完澡,继续刚才的项目,不料在现有项目中添加新项时出错,出错信息如下:
未能运行"C:\Program Files\Microsoft Visual Studio .Net 2003\VC#\CSharpProjectItems\..\CSharpAddWebFormWiz.vsz"向导。

还好,很快在这里找到的答案
http://www.itpub.net/522587.html

解决方法:
2步即可解决,不用重装
1、注册一下scrrun.dll,即 regsvr32 scrrun.dll
2、注册一下csproj.dll,即 regsvr32 "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\vcpackages\csproj.dll"

其中指出了向导的文件目录结构
==========================

作者:张国锋 礼攀/出处:计算机与信息技术

VS.NET向导模板类主要分项目模板及项目项模板两种。选择项目模板时,VS.NET会自动生成多个不同类型的项目文件,而选择项目项模板通常只生成一个文件(当存在code-behind文件时会有多个)。这里主要介绍项目项模板的创建方法。研究.NET的向导项目文件夹,可以发现有两类重要的文件


.vsdir 文件

  该文件定义了向导项目中需显示的项以及在对话框中要显示的属性,诸如:名称,描述,图标,缺省项文件名。对于其中包含的每一各向导项,则通过相应的.vsz文件予以说明。

.vsz 文件

  该文件定义了一个COM组件名(这个COM组件告诉Visual Studio需要创建什么类型的向导),以及该组件需要接受的参数(比如文件名)。

  这两类文件和对应的组件是创建项目向导所必需的,图1给出了三者之间的一个结构图。


图1

  因此,我们可以明确:只需要直接修改、替换模板文件就可以方便地创建自定义向导模板。

  2 举例

  为了说明这个方法,以下创建一个名为MyReport的项目向导模板, 并且添加一个FrmReport.cs文件。


  ⑴VS.NET安装目录下,找到所要添加的项目模板类目录,如VC#\CSharpProjectItems是c#项目模板所在的目录。

  ⑵建一个.vsz文件以设置项目模板向导,如CSharpAddMyReportWiz.vsz,输入以下内容:

VSWIZARD 7.0

Wizard=VsWizard.VsWizardEngine

Param="WIZARD_NAME = CSharpAddMyReportWiz"

Param="WIZARD_UI = FALSE"

Param="PROJECT_TYPE = CSPROJ"

  ⑶添加新项对话框中的项模板层次结构是依照ProjectItems目录而定,选择我们要添加模板的目录位置,在这个目录下添加一个.vsdir文件,使其关联我们之前创建的vsz文件。我们在ProjectItems\LocalProjectItems\UI目录下添加一个mywiz.vsdir文件输入以下内容:

  ..\..\CSharpAddMyReportWiz.vsz|{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}|HR纺织业通用报表|0|提供了纺织行业常用格式报表的制作、打印及数据交换等功能的接口|{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}|4534|0|FrmReport.cs

  说明:这里由|符号分割成不同的几个属性,第1个是我们之前创建的vsz文件的相对路径,第3项是添加新项对话框的一个简要描述,完整的描述(也显示在对话框中)则列在第5项,第4项是排序的顺序,越小越靠近顶部。由于这些对添加自定义项目项比较重要,所以这里都作了说明。最后一项表明了生成并添加到这个工程的文件格式。这里生成的mywiz.vsdir文件只会显示在我们设定的目录下,要在全局目录中显示,还需要复制这个文件到LocalProjectItems目录,同时更新相对路径。

  ⑷一旦我们建立了新项目模板的指向,就要使得模板能够在向导中输出。模板信息放置在我们建立的模板类别下。比如VC#\VC#Wizards是C#向导所在的地方。


  其中Template\1033目录下有一个templates.inf文件,它是要生成模板项的模板文件,这个文件使用向导生成脚本生成向导。下面是一个templates.inf的例子,里面包含一个文件的说明:Report1.asmx.一般工程项目在新增对话框中都会制定一个文件,也就是我们在templates.inf文件中所包含的单一文件。当运行时,向导会在模板文件夹中生成一个report1.asmp的文件作为模板。

  ⑸另外,还可以做一些更深入的工作. 例如,需要项目向导输出一个自定义的frm文件以及对应的frm.cs文件,可以复制CSharpAddFormWiz文件夹,并重命名为CSharpAddMyWebFormWiz,并重复操作1-4。随后,在templates.inf文件中添加另外一个文件。

你可能感兴趣的:(Microsoft)