如何在 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.0
nuget 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 构建