我创建了一个IWizard程序集,它应该接受参数值(通过Windows窗体)并将它们插入到VS 2008项目模板中包含的代码所要求的位置。这是article I used to set this up。
问题是,当我基于模板创建一个新项目时,它会抛出一个错误,指出“对象引用未设置为对象的实例”。我在IWizard类的整个RunStarted方法中放置了所有消息框,但它们都没有显示。
[更新] 我将VS 2010的一个实例附加到VS 2008的实例,其中我从模板向导创建了一个新项目,并在输出中看到以下内容:
线程''(0xc0c)已退出,代码为0(0x0)。
有没有人知道我可以在哪里开始调试这个或者我可能做错了什么?
答案 0 :(得分:0)
可能是,您重命名.vstemplate中的文件名,但.csproj中的条目指向旧文件名?
例如* .vstemplate:
<Folder Name="Logic" TargetFolderName="Logic">
<ProjectItem ReplaceParameters="true" TargetFileName="$BdName$.cs">BdTemplate.cs</ProjectItem>
</Folder>
您必须替换.csproj中的文件名:
<Compile Include="Logic\$BdName$.cs" />
否则无法加载项目并且您收到此错误。