环境:vs2008
具体问题:
在 代码隐藏 模式的页面(aspx,代码在 .cs)调用一个没有使用 代码隐藏 的 用户控件(所有代码都在一个 ascx 里),该控件增加了公开的属性。调试时(在有代码的目录上直接运行网站)正常,而在发布时,如果发布选项是 允许修改预编译 (即勾上第一个方块),就在发布编译过程提示这个错误。
其他信息:
经过试探,可以确认这些细节,
发布时去掉第一个勾,可以通过;
在一个同样不使用 代码隐藏 模式的页面调用这个控件,也能过;
结果:
还没有找到解决办法,只能以拿掉第一个勾的形式发布。这应该是 vs2008 本身的问题,一个 代码隐藏 页面调用一个 非代码隐藏 控件时,认不出该控件的类型,而认为是 UserControl 类型。也许可以通过修改某些设置,或者找到 声明 控件的文件可以避开这个错误,但是还没有找到这样的资料。