为什么在ASP.NET Web应用程序上调用WebMethod时出现模糊类型错误?

elh*_*yos 3 asp.net debugging web-services web-applications

发送到浏览器的消息如下:

类型My.API.Class是不明确的:它可能来自程序集'[在临时ASP.NET文件]'或程序集'[在bin文件夹]'

调试Web App时会出现此问题,特别是在向WebService的WebMethod发出请求时.

该项目编译得恰到好处.它在bin文件夹上生成My.Website.dll,如果我发布Web应用程序.它工作正常.

asmx文件位于应用程序的根目录下.CodeBehind文件位于App_Code上,并标记为要编译以生成My.Website.dll.

我应该遗漏一些非常重要的东西.

我发现有人可能有相关原因的问题.看看吧.这个人暴露它的问题的方式在某种程度上是相似的,但当他谈到代理类和我不使用的共享dll时,我开始迷失方向.

任何帮助表示赞赏.

elh*_*yos 7

根据,App_Code文件夹只应在网站项目中使用.这就是asmx的CodeBehind也是在运行时编译的原因.

最初的问题是基于Web App进行的.但我没有指定这个Web App.已从Web站点项目手动更改.

为了解决我的问题,我做了以下事情:

  1. 将项目转换为Web应用程序.这将使App_Code重命名为Old_App_Code.
  2. 将所有Old_App_Code资源移动到类库,然后将此库引用到Web应用程序中.

@Tony:谢谢你的指导.