我曾经使用Visual Studio 2008。然后,我决定利用Windows 7 x64和Visual Studio 2010中使用我们的开发周期等的Windows 7 64位版和Visual Studio 2010的dll参考
内新的IDE功能我们的一个项目是使用Microsoft.SqlServer.Smo.dll,并且还涉及一些SQL服务器管理DLL。当我尝试编译新项目时遇到很多问题。
这是我的问题。
我创建了一个非常简单的控制台项目,然后我说Microsoft.SqlServer.Smo.dll参考,我把一个简单低于行成main()函数。
static void Main(string[] args) { Microsoft.SqlServer.Management.Smo.ApplicationRole role = new Microsoft.SqlServer.Management.Smo.ApplicationRole(); }
ApplicationRole
类是从Microsoft.SqlServer.Smo.dll来了,我改变了项目的目标框架属性.Net框架4(不是客户端配置文件)。它编译成功。
当我试图目标框架更改为.Net框架2.0它给错误
错误1类型或命名空间名称ApplicationRole'不存在命名空间“存在Microsoft.SqlServer.Management.Smo “(是否缺少程序集引用吗?)C:\用户\ fatihy \文档\ Visual Studio 2010的\项目\ ConsoleApplication2 \ ConsoleApplication2 \的Program.cs 14 52 ConsoleApplication2
这是错误我有什么的一个小,但我确信其他人与这个问题有关。
当我检查Microsoft.SqlServer.Smo.dll与corflags工具见下文,
Setting environment for using Microsoft Visual Studio 2010 x86 tools.
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>corflags "C:\Program File
s\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.SqlServer.Smo.dll"
Microsoft (R) .NET Framework CorFlags Conversion Tool. Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
Version : v2.0.50727
CLR Header: 2.5
PE : PE32
CorFlags : 9
ILONLY : 1
32BIT : 0
Signed : 1
c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>
正如你可以看到这个DLL文件支持.NET 2.0 CRL。
示例项目也可以按照从here
下载我做错了什么?
谢谢
确认 - 从我所看到的DLL输出中,支持的版本是“2.0.50727”。这个版本通常也被称为.Net 3.5。当你说你将目标框架改为2.0版时,你是指实际版本“2.0”,还是缩写了v3.5的别名“2.0.50727”? – Smudge202
将目标平台从客户端配置文件更改为完整版通常可解决此类问题。 –