web 调用WCF 每次都要重新编译才能正常使用 终于解决了

Posted study_well_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web 调用WCF 每次都要重新编译才能正常使用 终于解决了相关的知识,希望对你有一定的参考价值。

  项目中不知从何时起出现了个奇怪的问题,每次运行web都要全部重新编译解决方案,否则单独编译web,总是会出现WCF 调用失败的情况(什么无法激活服务,什么协议对地址不可用啊,七七八八的问题),因为这个问题不影响项目的使用,就一直没去管,但每次改个配置文件都要重新编译整个解决方案,真的烦死,今天刚好有时间,下定决心要解决整个问题。

  调试的时候,发现了个很奇怪的问题,先单独编译WCF能正常访问,然后单独编译下web,再去访问WCF就会出错了,细看出现的错误,原来web和wcf共同引用的同一个类库项目导致的,仔细查看编译的输出信息,好吧,以前一直都把这个信息忽略掉了,原来是类库项目,和WCF项目同时引用了一个dll,但是却引用了不同的版本,WCF里面的版本要高于类库项目的,所以每次整个解决方案整体重新编译的时候会使用较高的版本也就是WCF里面的版本,但是单独编译的时候会引用类库项目中的较低版本的dll,WCF肯定就挂了。

  一直觉得这个问题很诡异,还在想是不是见鬼了,嘿嘿,原来编辑器早就警告过了,只是我们没有放在心上,看样子以后得改改这个光看错误不看警告的习惯,说不定啥时候就给自己的项目给埋了个大bug.

  PS:使用VS开发项目,添加程序引用的能用nuget的尽量使用nuget,不要随便升级版本,一定要升级,升级前检查解决方案中还有什么地方用到了同一个dll,是不是引用了同一个文件夹下的dll

  

以上是关于web 调用WCF 每次都要重新编译才能正常使用 终于解决了的主要内容,如果未能解决你的问题,请参考以下文章

quartus调用modelsim仿真每次都要重新打开modelsim吗?联合仿真每次都要关闭modelsim再重新打开吗?

quartus调用modelsim仿真每次都要重新打开modelsim吗?联合仿真每次都要关闭modelsim再重新打开吗?

为啥每次进入命令都要重新source /etc/profile 才能生效

在每次调用时重新验证 WCF UserNamePasswordValidator 上的凭据

我用Netbeans写的程序,tomcat为啥每次都要重新启动一下才能运行啊???

DataGridView中EnditCommit()调用之后,单元格的内容被全选了,每次输入都要鼠标点击定位到最后才能继续输入