安装VSIX后,C#代码段不起作用

时间:2018-03-02 16:08:05

标签: c# visual-studio vsix

我们已经创建了许多C#代码段。如果我使用Code Snippets Manager直接导入它们,它们可以完全按预期工作。

由于我们要让人们在不同时刻进入我们的项目,我们希望简化入职流程,因此我们希望将这些片段包含在VSIX项目中。为此,我跟着this process写了这封信。

现在有几个问题正在发生:
1.当我在调试模式下运行VSIX时,我得到了visual studio的实验实例,但是脚本'文件夹不在管理器中,当我查看"扩展和更新"时似乎没有安装包。

  1. 如果我关闭VS并运行VSIX安装程序,重新打开VS后我可以看到"扩展和更新"中安装的软件包,我可以看到自定义脚本'脚本管理器中的文件夹和所有脚本都在那里但是,当我打开一个代码文件并尝试使用它们时它们不可用,无法识别快捷方式,并且脚本在插入脚本上下文菜单中不可用。 / LI>

    我们在三种不同的环境中尝试了两种方法,行为是相同的。

    我们正在使用Visual Studio 2017和.Net Framework 4.7.1

    我已经检查了所有设置三倍,确保没有任何拼写错误,所有需要添加的文件都在正确的位置,所以我不知道还有什么要检查或尝试。

    我很抱歉,我没有包含任何代码,但有些内容被认为是保密的,但我尝试使用Hello World示例,我得到了相同的结果。

    感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

事实证明,这种行为有多种原因。

环境1 :使用Visual Studio 2017的全新实例,Snippets Manager中有一个名为%LCID%的文件夹。在此文件夹中有两个专门用于MVC 4应用程序的代码段。我们不知道为什么但是这些片段或文件夹阻止我们自定义的片段被检测到,一旦我们删除了这个文件夹,一切都按预期开始工作。

环境2 :此环境没有%LCID%文件夹,但安装了ReSharper,并且配置为使用IntelliJ键盘架构。一旦我们将其更改为使用Visual Studio,那么片段就可用了。

环境3 :在此处,%LCID%文件夹不存在,ReSharper键盘配置设置为Visual Studio。我们禁用了ReSharper,但仍然无法使用这些片段。我们基本上无法弄清楚为什么这些片段不可用所以我们最终进入文件系统,将它们从自定义文件夹中删除并将它们粘贴到"我的片段"默认一个,它们可用。

希望这些信息对某些人有用,或者更好的是,有人可能会解释为什么情况一和三会导致这些片段无法使用。