惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Y
Y Combinator Blog
T
Tailwind CSS Blog
G
Google Developers Blog
博客园 - Franky
Google DeepMind News
Google DeepMind News
阮一峰的网络日志
阮一峰的网络日志
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 聂微东
爱范儿
爱范儿
博客园 - 【当耐特】
腾讯CDC
T
The Blog of Author Tim Ferriss
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
C
Check Point Blog
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
博客园_首页
Stack Overflow Blog
Stack Overflow Blog
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - inhesoft

大模型的终局:从“云端神坛”到“硅基尘埃” CherryTree笔记软件 一个供应仓储系统的升级小结 log4net在windows 2003 iis6下使用的注意事项 IIS6下, web.config配置为targetFramework="4.0"时出404错误 mercurial(hg)使用 Firebird数据库相关备忘录 推荐FireFox加FastesFox插件浏览博客园 Delphi中完成端口的例子 [SQL Server] 存储过程事务 delphi2010回归传统 SQLServer2005 xp_cmdshell存储的使用 《WebBrowser组件和MSHTML 在Delphi中的使用》补充 数据库选型和FireBird的使用 推荐一个FireFox 插件--SQLite Manager vs2005生成注释的快捷键 配置 IIS支持PHP FireFox不能识别html标签内嵌样式表-style属性 保护我们的眼睛,让网页中的文字更易读
ASP.NET 4.0 升级中遇到的小麻烦
inhesoft · 2010-04-30 · via 博客园 - inhesoft

1、如何指定IIS虚拟目录(应用程序)的框架版本

如果是iis6,比较简单,在属性页上直接指定即可,可在iis7上,却找不到如何指定版本的功能,费了不少周折,才发现,iis7是按应用程序池来指定版本的,在建立虚拟目录时指定。

2、Duplicate type name within an assembly

首先说明,程序的运行环境使用了Castle 1.0rc框架。这个错误出的很莫名其妙,也没有明确的指示。只是提示是在NHibernate初始化类型时出错,具体是哪个类型,也没有明确的提示。开始怀疑真的是自己的类名重复了,但编译可以通过,经仔细检查,也没有发现有重复命名的实体类,百思不得其解,于是google一下,发现有不少类似的问题,多数人说是Castle.DynamicProxy.dll的bug,由于后来这个文件升级到了Castle.DynamicProxy2.dll,而我使用的Castle 1.0rc3 使用的是旧版本的,不敢直接替换。

这些信息启发下,找到了问题的根源,应该是NHibernate使用Castle.DynamicProxy来生成实体类,但Castle.DynamicProxy的旧版本在ASP.NET 4.0下工作有问题。

找到问题,解决就比较容易了,直接把应用程序池设置回asp.net 2.0,一切OK。

看来这个项目只能工作在asp.net 2.0下了。

使用开源项目风险还是蛮大的,由于asp.net mvc的推出,Castle Project 很久没更新了,可能不再集中打包发布新版本了,因为各个模板都单独发行了新版本,而兼容性如何需要自己来测试,因此要升级恐怕要费一番周折,已经稳定运行的项目,也不想折腾了,但由于需要不停地在上面添加新功能,因为这部分功能受限造成不能使用asp.net 4.0,也觉得很别扭。

如果一个项目需要持续性开发扩展,或是产品类项目,还是老老实实使用官方原生的基本技术比较好,风险可控,不会绑定到人家的产品上,推荐webform+ado.net。