2010-08-16 51 views
1

我有一个内部使用的Winform应用程序,我通过ClickOnce发布了SQL Express 2005.该应用程序还引用了几个Microsoft.SqlServer dll。我想弄清楚特定版本设置是如何工作的。我在我的机器上安装了SQL 2008,他们有2005.Visual Studio参考资料:特定版本设置问题

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

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

回答

3

“特定版本”仅在您编译时相关,它在运行时不起作用。当设置为False时,当引用程序集的[AssemblyVersion]已更改时,IDE不会投诉。这不是一个好主意,你应该知道你可能需要在代码中进行更改,因为程序集已更改。

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

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

1

MSFT中与SQLExpress产品相关的人今天告诉我,很难确定它是否已安装,他们有一个程序,它是Visual Studio中引导程序包的一部分。 (我对他的安装SQLServer有多么困难。)

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