安装VSIX后,C#代码片段无法正常工作

问题描述 投票:0回答:1

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

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

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

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

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

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

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

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

感谢您提供任何帮助。

c# visual-studio vsix
1个回答
0
投票

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.