Visual Studio参考:特定版本设置问题

时间:2010-08-16 13:32:49

标签: sql-server visual-studio dll clickonce

我有一个内部使用的Winform应用程序,我通过SQL Express 2005通过ClickOnce发布。该应用程序还引用了几个Microsoft.SqlServer dll。我试图弄清楚特定版本设置如何工作。我在我的机器上安装了SQL 2008,他们有2005年。

如果我选择Specific Version = false,它会关心用户是否拥有SQL 2005,还是依赖于dll。

具体来说,如果我没有指定Specific Version这是否意味着它只会在GAC中查找该dll的任何版本?

2 个答案:

答案 0 :(得分:3)

“特定版本”仅在编译时相关,在运行时无效。设置为False时,IDE将不会在引用程序集的[AssemblyVersion]发生更改时发出警告。这不是一个好主意,您应该知道您可能必须在代码中进行的更改,因为程序集已更改。

CLR不会在GAC中查找任何版本的程序集。只接受完全匹配。这是默认策略,您可以使用应用程序的.config文件中的<bindingRedirect>覆盖它。

Afaik,没有SQL Server的提供程序特定于SQL Server版本号。对此不太确定。

答案 1 :(得分:1)

MSFT的一位与SQLExpress产品有关的人今天告诉我,很难弄清楚它是否已经安装,他们有一个程序可以实现它是Visual Studio中引导程序包的一部分。 (我对他安装SQLServer有多困难感到不满。)

在.NET应用程序中编写代码以连接和使用SQLServer数据库不是特定于版本的,Microsoft致力于保持向后兼容性。