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



我们创建了许多 C# 代码片段。如果我直接使用代码片段管理器导入它们,它们可以按预期完美运行。

由于我们将让人们在不同的时刻加入我们的项目,我们希望简化载入过程,因此我们希望将这些代码片段包含在 VSIX 项目中。为此,我信守这一过程。

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

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

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

我们正在将Visual Studio 2017与.Net Framework 4.7.1一起使用

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

很抱歉我没有包含任何代码,但有些事情被认为是机密的,但我尝试使用 Hello World 示例执行此操作,并得到了相同的结果。

感谢您提供的任何帮助。

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

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

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

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

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

最新更新