发送到浏览器的消息如下:
My.API.Class 类型不明确:它可能来自程序集“[在临时 ASP.NET 文件上]”或来自程序集“[在 bin 文件夹上]”
调试 Web 应用程序时,特别是向 WebService 的 WebMethod 发出请求时,会出现此问题。
该项目编译得恰到好处。如果我发布 Web 应用程序,它会在 bin 文件夹中生成 My.Website.dll。效果很好。
asmx 文件位于应用程序的根目录中。 CodeBehind 文件位于 App_Code 上,并标记为要编译以生成 My.Website.dll。
我应该错过一些非常重要的东西。
我发现有人有同样的问题,并且可能有相关的原因。一探究竟 http://www.csharp411.com/web-service-ambiguous-type-question/。这个人暴露问题的方式有点相似,但当他谈论我不使用的代理类和共享 dll 时,我开始迷失方向。
任何帮助表示赞赏。
根据this http://msdn.microsoft.com/en-us/library/t990ks23%28v=VS.90%29.aspx,App_Code 文件夹只能用于网站项目。这就是 asmx 的 CodeBehind 也在运行时编译的原因。
最初的问题是基于 Web 应用程序提出的。但我没有指定这个Web App。是从网站项目手动更改的。
为了解决我的问题,我执行了以下操作:
- 将项目转换为 Web 应用程序。这将使 App_Code 重命名为 Old_App_Code。
- 将所有 Old_App_Code 资源移至类库,然后将该库引用到 Web 应用程序中。
@Tony:谢谢你指导我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)