5

我正在将一个项目从 Visual Studio 2010 移动到 Visual Studio 2012,并且收到关于以下内容的编译器错误VSConstants

Error   16  The name 'VSConstants' does not exist in the current context

我确保引用了 Microsoft.VisualStudio.Shell,并且还尝试引用了 Microsoft.VisualStudio.Shell.11.0 和 Microsoft.VisualStudio.Shell.10.0。我检查了 .cs 文件是否也在使用程序集(using Microsoft.VisualStudio.Shell)。

关于如何进入VSConstantsVisual Studio 2012 的任何想法?如果没有,我可以使用 Visual Studio 2012 中的等价物吗?我目前正在使用VSConstants.E_FAILVSConstants.E_NOINTERFACE

谢谢!

4

2 回答 2

5

确保从http://www.microsoft.com/en-au/download/details.aspx?id=30668安装了 VS 2012 SDK

您需要添加C:\Program Files (x86)\Microsoft Visual Studio 11.0\VSSDK\VisualStudioIntegration\Common\Assemblies\v4.0\Microsoft.VisualStudio.Shell.11.0.dll作为对项目的引用

要使用该程序集,您必须以 4.5 框架为目标。

或者,我刚刚升级的项目......我需要做的就是将框架版本更改为 4.5 并删除它找不到的项目引用。我曾预料到 ReSharper 会将我指向新的,但它还是建立了。请注意,这是在我安装 SDK 之后。

于 2012-11-09T10:20:12.700 回答
1

当我在 Visual Studio 2012 中试用 Microsoft 的“Designer View Over XML Editor”(http://code.msdn.microsoft.com/Designer-View-Over-XML-20a81f17 )时,我遇到了同样的问题。

Visual Studio 2012 升级了解决方案及其项目。那里没问题。但是,解决方案不会建立。事实证明,无法解决对“Microsoft.VisualStudio.Shell.10.0”(不是“Microsoft.VisualStudio.Shell.11.0”的引用,它对较新的目标执行相同的操作,但类似)无法解决,因为它是为.NET 的较新版本。它也在输出窗口中说:

“C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): 警告 MSB3274: 主要参考“Microsoft.VisualStudio.Shell.10.0”无法解析,因为它是构建的针对“.NETFramework,Version=v4.5”框架。这是比当前目标框架“.NETFramework,Version=v4.0”更高的版本。

本质上,项目升级错误地使项目使用了旧版本的 .NET。所以我打开了项目属性页面,并将其更改为 .NET 4.5。这使得解决方案得以构建。

但是,一旦它建成,还有其他问题。在 Visual Studio 2012 中调试它时,有两个相互冲突的 XmlEditor 版本。项目中引用的版本适用于 Visual Studio 10.0。因此需要更多版本更改才能使其正常工作。

于 2013-05-03T09:56:45.593 回答