如何在 Visual Studio 2017 中更新对 VSConstants 的引用

Posted

技术标签:

【中文标题】如何在 Visual Studio 2017 中更新对 VSConstants 的引用【英文标题】:How to update refeferences to VSConstants in Visual Studio 2017 【发布时间】:2017-07-30 20:07:51 【问题描述】:

我有一个文件生成器工具,我们一直在 Visual Studio 2013-2015 中使用它,它基于 Microsoft.VisualStudio.Interop 中的 IVsSingleFileGenerator 模式。我安装了 Visual Studio 2017 sdk 并加载了项目,但发现所有 VSConsants 值现在都缺少引用,出现 The name 'VSConstants' does not exist in the current context 错误。我一直在尝试查找有关此枚举值可能发生的情况的参考,但无法在 MSDN 上找到有关应如何转换这些值或常量引用可能去了哪里的任何信息。

引发错误的常量:

VSConstants.S_OK
VSConstants.E_FAIL

参考移动了吗?我需要使用不同的常量集吗?

【问题讨论】:

来自 Microsoft.VisualStudio.Shell.14.0。 VS SDK 的一部分,VS2017 尚不可用。 【参考方案1】:

添加对Assembly Microsoft.VisualStudio.Shell.15.0的引用 或者直接安装Microsoft.VisualStudio.Shell.15.0nuget package

您也可以查看Microsoft's migration guide。

【讨论】:

即使在引用后我仍然收到此错误:严重性代码描述项目文件行抑制状态错误编译转换:在命名空间“Microsoft.VisualStudio”中找不到类型名称“VSConstants”。此类型已转发到程序集“Microsoft.VisualStudio.Shell.Framework, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”考虑添加对该程序集的引用。 我添加了对该程序集的附加引用:“Microsoft.VisualStudio.Shell.Framework”并且它有效。我还安装了 .NET 4.6.1 SDK。 @metabuddy 是什么促使您添加 xxx.Framework?它也对我有用,但我想知道你是怎么选择的:)?谢谢!

以上是关于如何在 Visual Studio 2017 中更新对 VSConstants 的引用的主要内容,如果未能解决你的问题,请参考以下文章

如何使用Visual Studio 2013或Visual Studio 2017设置TFS 2013

如何设置 TFS 2013 以使用 Visual Studio 2013 或 Visual Studio 2017 构建

无法找到visual studio 2017生成工具

visual studio 2017 如何下载和安装

如何在 Visual Studio 2017 中创建 Visual c++ MFC 控制台项目

如何在 Visual Studio 2017 中启用 WiX 项目