簡體   English   中英

Windows 7 x64 Edition和Visual Studio 2010 dll參考

[英]Windows 7 x64 Edition and Visual Studio 2010 dll reference

我曾經使用Visual Studio2008。然后我決定使用Windows 7 x64和Visual Studio 2010在我們的開發周期等中使用新的IDE功能。

我們的項目之一是使用Microsoft.SqlServer.Smo.dll,並且還關聯了一些SQL Server管理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 Framework 4(而不是客戶端配置文件)。 它編譯成功。

當我嘗試將目標框架更改為.Net Framework 2.0時,出現了以下錯誤

錯誤1類型或名稱空間名稱'ApplicationRole'在名稱空間'Microsoft.SqlServer.Management.Smo'中不存在(您是否缺少程序集引用?)C:\\ Users \\ fatihy \\ documents \\ visual studio 2010 \\ Projects \\ ConsoleApplication2 \\ ConsoleApplication2 \\ Program.cs 14 52 ConsoleApplication2

那只是我所犯錯誤的一小部分,但是我敢肯定其他人與此問題有關。

當我使用corflags工具檢查Microsoft.SqlServer.Smo.dll時,請參見下文,

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。

樣本項目也可以從這里下載

我做錯了什么?

謝謝

Microsoft.SqlServer.Smo.dll是在.Net 3.5中構建的。 如果項目的目標框架是.Net Framework 2.0,則根本無法使用它。

只需在演示控制台應用程序中進行檢查即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM