Visual studio 2017 Visual Studio 2017-VSIX包在更新NuGet包后停止工作
复制步骤:Visual studio 2017 Visual Studio 2017-VSIX包在更新NuGet包后停止工作,visual-studio-2017,vsix,vs-extensibility,vsixmanifest,Visual Studio 2017,Vsix,Vs Extensibility,Vsixmanifest,复制步骤: 开放Visual Studio 2017。选择文件。。新的。。项目 从“新建项目”对话框中,选择“扩展性”。。VSIX项目 从解决方案资源管理器中选择新项目。右键单击并添加。。新项目。。可扩展性。。自定义命令 现在,您有了一个从标准模板生成的完整自定义命令。在调试器中运行它。您将得到一个VisualStudio的实验实例。从菜单中,选择工具。。。调用命令1。。。您的自定义命令工作 点击“OK”并退出Visual Studio的实验实例 现在,回到原始解决方案,单击“工具”。。NuGe
public static async Task InitializeAsync(AsyncPackage package)
{
// Verify the current thread is the UI thread - the call to AddCommand in Command1's constructor requires
// the UI thread.
#pragma warning disable VSTHRD109 // Switch instead of assert in async methods
ThreadHelper.ThrowIfNotOnUIThread();
#pragma warning restore VSTHRD109 // Switch instead of assert in async methods
OleMenuCommandService commandService = await package.GetServiceAsync((typeof(IMenuCommandService))) as OleMenuCommandService;
Instance = new Command1(package, commandService);
}
有很多方法可以解决这个问题。这里有一个
- 首先,将Visual Studio 2017的Nuget配置为使用新的包引用模式:李>
- 删除旧版
文件packages.config
- 删除所有现有引用(请参见下图)
- 手动编辑.csproj并删除包含“.packages…”内容的所有行,包括检查某些nuget存在的所有行,以及关联的导入和任务
- 添加
和Microsoft.VisualStudio.Shell.15.0
作为nuget软件包。您现在应该看到类似的内容(请注意带有蓝色图标的新nuget引用):Newtonsoft.Json
- 您应该能够成功编译和运行
几个月以来,每当我面对不可能的裸体问题时,我就是这么做的。我将旧的packages.config复制到某个地方,从项目中删除它,记住“根”包,删除每个引用,检查csproj,并从nuget添加新引用(尝试添加尽可能少的引用,以便子引用可以)。Nuget现在是所有参考资料的未来(无论我们喜欢与否,我们都必须咬紧牙关),即使是Visual Studio参考资料。天哪!这很有魅力。谢谢你,好朋友!哎哟在尝试使用模板添加新命令后,VisualStudio收回了所有这些废话。我想我现在会忘记使用模板了。