VisualStudio发布(二):根据不同活动解决方案配置使用对应的动态链接库


根据不同活动解决方案配置使用对应的动态链接库

一、问题

开发机与服务器需要使用的动态链接库版本不一致,导致发布后需要再远程连接到服务器替换某个DLL文件。

二、实现效果

根据不同活动解决方案配置将对应服务器版本的DLL发布,不需要再进远程桌面替换dll。
解决远程发布“最后一公里”的问题。

注:配合另一篇博文:《VisualStudio一键远程部署至IIS以及自动备份部署包》,即可实现真正的远程部署。

https://www.cnblogs.com/soraxtube/p/15136676.html

三、方法一

操作方法

以Oracle.DataAccess.dll文件为例
开发机使用的版本为2.121.2.0
服务器使用的版本为4.121.2.0

1、将不同DLL放入不同文件夹

在项目Bin目录下新建Debug、Release文件夹,分别放入本地和服务器使用版本的Oracle.DataAccess.dll文件
并将其设为只读(防止编译后消失)

2、修改CSPROJ文件

在项目CSPROJ文件中,修改Oracle.DataAccess.dll的引用路径

<HintPath>bin\Oracle.DataAccess.dll</HintPath>

修改为:

<HintPath>bin\$(Configuration)\Oracle.DataAccess.dll</HintPath>

修改后的效果为:发布时根据选择的不同解决方案配置,自动使用对应文件夹下的动态链接库
Debug模式使用的文件为:

bin\Debug\Oracle.DataAccess.dll

Release模式使用的文件为:

bin\Release\Oracle.DataAccess.dll

发布时选择Release模式

缺点

不能勾选预编译。
如果Release发布时勾选预编译会报错。因为编译时使用的是服务器用的DLL。

四、方法二

操作方法

删除bin目录(生成目录)下的DLL文件,重新引用Debug文件夹下的DLL(2.121.2.0),并设置为不复制到本地。
发布时不勾选删除目标上的其他文件。


这样预编译可以通过,生成时也不会将Debug文件夹下的DLL复制到生成目录中。发布时不会将服务器上的DLL(4.121.2.0)覆盖掉。

五、相关文章

VisualStudio发布(一):一键远程部署至IIS以及自动备份部署包

VisualStudio发布(二):根据不同活动解决方案配置使用对应的动态链接库

VisualStudio发布(三):解决WDeploy密码过期导致的发布失败


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM