.net – 引用的DLL未被复制到引用项目

前端之家收集整理的这篇文章主要介绍了.net – 引用的DLL未被复制到引用项目前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题可能已被多次询问过,也许我只是在使用谷歌的搜索功能以及谷歌这个问题,但我还没有找到这个问题的答案.

我目前有两个项目,项目X,项目Y和项目Z(仅包含映射)

Project X是一个FluentNhibernate项目,它包含我的sessionfactories和类似的东西.所以这也是映射加载和事物的地方(这很重要,我怀疑它可能是我遇到的问题的全部原因)

现在,在Project X中,我引用了一个使用Microsoft.sqlServer.Types.dll的程序集.

项目Y是一个使用项目X进行数据库连接的服务.

所有的probjects都可以在我的开发机器上完美地查找和运行,但是当部署到我们的服务器时,它们无法正常运行(运行时错误).错误是非常模糊的,因为它指向缺少FluentNHibernate程序集,但事实并非如此.

Procmon.exe幸运地显示代码试图加载Microsoft.sqlServer.Types.dll,因为服务器没有安装sql Server(我的客户端不是,但它有一个管理工作室,很可能安装此.DLL以及) .

到目前为止一直很好,复制了DLL并且它工作了(耶!).

现在我想我将程序集添加到项目X以确保使用项目X将此引用复制到其他项目.这没有发生….所以我尝试将“复制本地”设置设置为true.

遗憾的是,这仍然没有将.dll复制到引用项目Y.

有没有办法让这种情况发生,或者这个Visual Studio是否聪明并且意识到Project Y不需要这个.dll因此拒绝复制它?

(由于Project Z需要实际参考,Project X加载此程序集@运行时,Z和X之间没有“硬”参考)

任何Stackoverflow天才都可以对此有所了解,因为老实说,我想知道为什么它会以这种方式运行(理想情况下是一种让它表现得像我想要的方式).

现在我想我将程序集添加到项目X以确保使用项目X将此引用复制到其他项目.这没有发生….所以我尝试将“复制本地”设置设置为true.

您还在谈论Microsoft.sqlServer.Types.dll对吗?

我前段时间遇到了同样的问题,实际上不应该复制和重新分发sqlserver类型. “安装”它的正确方法是下载sql server运行时(包含在sql server管理工具中,这就是它在本地适用的原因).

因为它是在不久前,我不是100%确定以下信息是否正确并且可行,但只是尝试仅安装Microsoft® System CLR Types for Microsoft® SQL Server® 2012.在此下载页面上展开“安装说明”并向下滚动到“CLR类型”下载…

使用this link for SQL Server 2008

在目标服务器上安装它.这只会安装运行此类型dll所需的东西……

猜你在找的Windows相关文章