我有一个VS 2012 C#应用程序(我继承了),为了正常运行,首先需要安装
如果没有这些先决条件,应用程序将无法运行。
我在申请中引用了以下内容:
基本上,应用程序允许对数据库运行SQL语句,它允许用户将所选数据库的备份运行到磁盘(在服务器上)
在不同的点上,应用程序将使用GetSchema
列出所有数据库,它将使用ExecuteNonQuery
执行SQL,并使用SqlBackup(server)
我已经尝试删除上面的一些引用,但这样做会导致构建错误,所以我的假设是我需要它们。我试图在不安装上述3个SQL Server项目的情况下运行应用程序而没有运气。
我是否有可能以某种方式消除SQL Server数据工具,客户端工具连接和管理工具的安装要求?我可以在项目中包含所有这些内容,以便最终用户不必安装任何其他内容吗?
显然我是新手......
答案 0 :(得分:4)
只需对这些程序集进行bin-deploy。从他们的磁盘路径(对我来说:"C:\Program Files (x86)\Microsoft SQL Server\120\SDK\Assemblies\Microsoft.SqlServer.SmoExtended.dll"
)而不是GAC引用它们。您必须用新的汇编引用替换现有的汇编引用。
答案 1 :(得分:0)
以下是我通常如何处理这种情况,因为我还没有找到任何支持这种情况的NuGet软件包。
为引用保留单独文件夹而不是将它们复制到bin文件夹的主要原因是,如果清理了解决方案,或者在编译期间很多次,则会刷新bin文件夹。如果你只有它们那么你会失去它们。您通常也不会将bin文件夹提交到源代码管理中,但是您希望确保引用这些特定的DLL以进行源代码控制和编译。