我正在尝试为Visual Studio 2010创建一个包含一些项目模板的VISX扩展.这些模板不是很复杂,但我希望在创建过程中通过向导为它们公开一些额外的配置.我已成功设置我的VISX包以将模板部署到我想要的目录结构VS2010中,但是一旦我尝试配置并运行向导,我在创建模板时会收到错误:
错误:此模板尝试加载组件程序集"My.Assembly,Version 1.0.0.0,Culture = neutral,PublicKeyToken = ...
我目前的配置如下:
.vstemplate文件指向他们的向导,如下所示:
<WizardExtension>
<Assembly> My.Assembly,Version = 1.0.0.1,Culture = neutral,PublicKeyToken = a494da9e6e53f845,Custom = null </ Assembly>
<FullClassName> My.Assembly.Wizard </ FullClassName>
</ WizardExtension>
据我所知,这是我应该怎么做的.究竟出了什么问题?它看起来无法找到组件.为了使模块可见,我还需要采取其他步骤吗?安装时将程序集部署到扩展文件夹(我验证了这一点),因此它至少可以解决.我需要对.vstemplate文件做些什么特别的事情来告诉他们查看扩展文件夹和GAC吗?我错过了什么吗?
请注意,我在互联网上找到了几个页面,说明我必须手动或使用脚本GAC程序集.但是,很少有我的确切场景(项目模板模板被VISX项目引用,大多数示例使用通过项目模板向导导出的常规项目并将其包转储到VISX文件夹结构中).我找到的唯一符合我情景的是微软的一个例子.我试图匹配它,但唉它仍然无法正常工作.我尝试将我下载的项目重新定位到这个问题的引用中,但我再也找不到了.
使用脚本是我们以前如何做到这一点,但我想尝试使用VISX包使事情变得更清洁.我想避免这种情况,但如果必须编写VISX脚本以将模板安装到GAC,我可以这样做.
我试图在iOS应用程序中实现可折叠的表视图.为此,我在部分标题中设置了一个手势识别器,它将激活NSNotification到父控制器,然后刷新显示扩展视图的视图.
一切正常,直到父控制器收到其消息,这将导致发生以下错误:
'+[MasterViewController receiveTestNotification:]: unrecognized selector sent to class 0xa92a8'
Run Code Online (Sandbox Code Playgroud)
我在这个网站上环顾四周,发现了一些与这个错误有关的帖子,但据我所知,我没有犯这些错误.
我的注册发生在控制器的初始化中,如下所示:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveTestNotification:) name:@"RefreshNavigation" object:nil];
Run Code Online (Sandbox Code Playgroud)
我想调用的接收方法有这个签名:
- (void) receiveTestNotification:(NSNotification *) notification
Run Code Online (Sandbox Code Playgroud)
我发送这样的通知,这是在UIView的自定义子类中,我用作节头:
[[NSNotificationCenter defaultCenter] postNotificationName:@"RefreshNavigation" object:self];
Run Code Online (Sandbox Code Playgroud)
我发现的例子指出了这种确切的配置.我很确定控制器没有被释放,因为它在整个应用程序之后不久就被使用了.
关于我做错了什么的任何想法?