我有一个ASP.NET Web应用程序,它引用了“c:\references\utils.varia.dll”。引用的另一个dll使用了此dll的签名版本(“c:\references\utils.varia.signed.dll”)。
现在,在我的ASPX中,我有以下导入指令:
<%@import namespace=“utils.varia”%>
此页使用utils.varia.StringExtensionsExtensionClass中的字符串扩展名。
但在运行时,我得到以下错误:
编译错误
描述:在
所需资源的编译
服务于此请求。请复查
以下特定错误详细信息
修改源代码
适当地。
编译器错误消息:CS0121:
调用之间不明确
以下方法或属性:
'concentra.utils.StringExtensions.TosShortReadableString(字符串,
int’和
'concentra.utils.StringExtensions.TosShortReadableString(字符串,
INT)
所以我的猜测是编译器不知道是从有符号的dll还是常规的dll中获取扩展方法。
这个假设正确吗?如果正确,如何将其指向正确的DLL?
[编辑]
奇怪的是,这个编译器错误只发生在ASPX文件中的代码上。如果我在codebehind中使用相同的函数,那么一切都将按预期工作。有人能解释一下吗?
另外,我不能只引用已签名的版本,因为实际使用已签名的版本是例外,所有其他组件都使用未签名的版本(显然除了1)。