• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

谈asp.net解决方案的项目生成时的输出路径

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

今日将一个大的asp.net解决方案从VS2005升级为VS2008,本来以为由VS自动转换后就应该不会有问题。没想到出现了不少问题,弄了大半天。

其中的一个主要原因就是项目生成时的“输出路径”问题。

一般说来,asp.net项目的类库项目的“输出路径”会有两种方式,一种就在自身项目的bin目录下,另一种则是将动态链接库生成放到web应用程序或者网站的bin目录下。

第一种方式,比较方便,也是默认选项,其它项目引用时也是直接引用bin目录下的动态链接库。但是如果项目过多时,可能导致虽然只修改一个小地方,就要重新编译很多个项目的情况,编译速度慢。

第二种方式,需要手动在项目属性里设置,一般都是用相对路径,如“../web/bin”类似的。这种项目引用时是引用web项目里的动态链接库,编译时不会连带编译,速度较快,比较适合较大型的项目。

这两种方式应该是要结合使用的,一般来说使用工厂模式的项目和比较跟程序独立的项目可以考滤用第二种方式。建议可以看看Discuz!NT的项目属性,它有几个项目就是采用第二种方式的。

而我前面说的那个解决方案06年时曾经将第一种方式改为第二种,所以其各自项目的bin目录下都还有06年时生成的dll存在。解决方案转化成2008的后,单独编译项目是没有问题的,但如果编译有引用另一项目的项目时,会把被引用项目的bin目录下的dll(就是前面说的06年残留下来的dll)复制到网站目录下,导致06年以后编写的程序都没有进入到dll里,产生错误。刚开始还没有发现这个问题,以为代码有错,但看程序却又是没有问题的,后面不小心发现,bin目录下的几个dll的生成日期是06年,才恍然大悟。

后面没有办法,只好将若干个项目的输出路径改回了第一种方式,并更新了其它项目的引用,因为解决方案比较大,又在源代码管理下,弄了大半天工夫。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET Web API实现缓存的2种方式发布时间:2022-07-10
下一篇:
非常棒的ASP.NETWebForms和ASP.NETMVC免费培训视频!发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap