我有一个通过 clickOnce 部署的 winform 解决方案。有一个主项目,然后是一个名为psWinForms
。该项目有一个参考Microsoft.ExceptionMessageBox
我在自定义错误报告中使用的。
I have psWinForms
作为我的主要项目的参考Copy Local = True
.
I have Microsoft.ExceptionMessageBox
作为参考psWinForms
with Copy Local = False & Specific Version = False
In Application Files
I have Publish Status =Prerequisite(Auto)
我尝试过各种组合都没有效果。
我在这里查看了 DLL 上的测试系统。
C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies
我正在使用 SQL 版本 9.0.242.0 中的 ExceptionMessageBox(如果这有影响)并且用户只安装了 SQL 2005 Express(9.0.1399.0)。
所以我很困惑为什么当我尝试使用这个抛出错误时我的应用程序挂起......
您无法自行复制和部署该程序集,它必须作为 SQL 客户端组件的一部分进行安装。 SQL 2008 和 SQL 2005 有不同的客户端组件,您的应用程序必须引用正确的组件。因此,您必须发布两种不同的应用程序,一种是为 SQL 2005 编译的,另一种是为 SQL 2008 编译的,并且您的用户必须安装正确的应用程序。从部署异常消息框应用程序:
异常消息框已安装
由 Microsoft SQL Server 提供,并且是
支持在您的自定义中使用
Windows 应用程序有待改进
异常处理。因为
异常消息框的安装方式是
除 SQL 之外的所有 SQL Server 版本
Server Compact 3.5 SP1,可以用
无需额外配置
运行 SQL Server 的任何计算机
客户端组件,包括 SDK、
已安装。
虽然技术上可能可以自行部署程序集并将其添加到 GAC 中,但这是一种不好的做法,因为您的 dll 不会成为正常的服务包和累积升级补丁链的一部分。
另外,您最好与 MS 代表联系清楚,使用 SQL 客户端使用许可证独立部署此 dll 是否可以。每个可以在许可证下重新分发的组件都有一个可供开发人员分发的安装 msi。如果此 dll 不存在,则强烈表明不允许第 3 方(您)重新分发。
Update
实际上,ExceptionMessageBox 组件有一个可分发的 msi(SQLServer2005_EMB.msi、SQLServer2005_EMB_x64.msi):
在 SQL Server 2005 SP1 及更高版本中
发布后,异常消息框为
也作为可再发行版提供
安装程序,您可以
与您一起分发和部署
应用程序...可再发行
安装程序异常
消息框可在线使用
的一部分SQL 功能包
服务器2005 SP1.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)