gpt4 book ai didi

visual-studio-2010 - 无法在 VSIX 部署模板中引用向导程序集

转载 作者:行者123 更新时间:2023-12-04 15:46:47 24 4
gpt4 key购买 nike

我正在尝试为包含一些项目模板的 Visual Studio 2010 创建一个 VISX 扩展。这些模板不是很复杂,但我想在创建过程中通过向导为它们公开一些额外的配置。我已经成功地设置了我的 VISX 包以将模板部署到我在 VS2010 中想要的目录结构,但是一旦我尝试配置和运行向导,我在创建模板时收到一个错误:

Error: this template attempted to load component assembly'My.Assembly, Version 1.0.0.0, Culture=neutral, PublicKeyToken=...


我目前的配置如下:
  • 所有项目都存在于同一个解决方案中。
  • VISX 项目包括对包含向导的项目和每个模板的项目引用。
  • 每个模板都是从一个项目模板模板构建的(...令人困惑的术语)。
  • 它们通过 .vsixmanifest 设计器作为内容添加,引用项目。
  • 每个 .vstemplate 文件都有一个 WizardExtension 元素,指向 IWizard 实现并包含程序集。
  • 向导程序集已签名。

  • .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 吗?我只是错过了什么吗?
    请注意,我在 Internet 上发现了几个页面,说明我必须手动或使用脚本对程序集进行 GAC。然而,很少有我的确切场景(项目模板模板被 VISX 项目引用,大多数示例使用通过项目模板向导导出的常规项目并将它们的包转储到 VISX 文件夹结构中)。我发现的唯一一个与我的场景相符的是来自 Microsoft 的示例。我试图匹配它,但可惜它仍然不起作用。我尝试重新定位我下载的项目以在此问题中引用,但我无法再次找到它。
    使用脚本是我们以前完成此操作的方式,但我想尝试使用 VISX 包使事情更简洁一些。我想避免这种情况,但如果必须编写 VISX 脚本以将模板安装到 GAC,我可以这样做。

    最佳答案

    通过 VSIX 扩展部署基于向导的项目模板时,最好使用 .vstemplate 中的短命名程序集。这可以避免 GAC 部署。

    在你的情况下,它应该是:

    <WizardExtension>
    <Assembly>My.Assembly</Assembly>
    <FullClassName>My.Assembly.Wizard</FullClassName>
    </WizardExtension>

    关于visual-studio-2010 - 无法在 VSIX 部署模板中引用向导程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11163146/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com