代码之家  ›  专栏  ›  技术社区  ›  Jeff B

如何使用MEF部署MSBuild自定义任务?

  •  4
  • Jeff B  · 技术社区  · 16 年前

    我有许多用于Visual Studio 2010的自定义项和项目模板。 我已经构建了一个vsix包,可以用来将这些扩展部署到多个开发人员的机器上。

    我现在正在创建新项模板所需的自定义msbuild任务。

    在我的本地项目中,我可以通过在项目文件中输入硬编码路径来实现这一点:

    但是,当vsix包部署到“dev”Visual Studio实例时,这不起作用。 Visual Studio只是报告找不到CustomBuildTask.dll。

    vsix在哪里部署dll? 是否有可用于在其他计算机上查找dll的msbuild%(path)变量? 或者每个用户都必须手动复制dll和/或将全局“.tasks”文件放入其Visual Studio安装中?

    注意:对于msbuild任务没有vsix内容类型,就像对于项和项目模板一样。我尝试过“vs-package”、“mef-component”和“custom-extension-type”,但没有一个能正常工作。

    1 回复  |  直到 16 年前
        1
  •  1
  •   Daniel Plaisted    16 年前

    我不相信你能做到这一点,因为vsix包不能在任意位置安装文件,而msbuild任务需要进入msbuild文件夹。