ASP.NET网站在Web服务器上抛出编译错误。

4
我正在处理一个使用ASP.NET 2.0作为启用实例的Web服务器(我无法更改它,我无法控制它)。我最初在4.0版本中编写了该网站,甚至没有考虑到Web服务器的版本。当安装时,我发现错误并更改了目标框架。经过一番与VS2010的搏斗,它编译得很好。我已经上线了,但现在它给我这个错误:图片链接
Account原来是一个.cs文件,然后我将其放入自己的项目中,以便我可以获取DLL,希望它成为DLL时能够正常工作。当它涉及到第一个引用Account的东西时,它总是失败。
Account已针对.NET 2.0进行编译。
有什么帮助吗?编辑:可能会改变此事的另一件重要事情是,该人已经在主文件夹上托管了另一个ASP.NET站点。他想在子文件夹中托管这个站点。我读到ASP.NET可能不喜欢这样做,所以这可能是问题的原因吗?

1
你确定 dll 文件在网站的 bin 文件夹里吗? - Alex
你是否在名为account的命名空间中有一个名为Account的类?你不应该这样做。请参考。 - user1429080
额,是的...这有点像是从一个.cs文件中复制粘贴过来的,该文件曾经驻留在主项目中。这可能会导致问题吗? - Madeline
我本来应该粘贴一个链接。这里是:http://blogs.msdn.com/b/ericlippert/archive/2010/03/09/do-not-name-a-class-the-same-as-its-namespace-part-one.aspx - user1429080
抱歉,我的手机有些问题,无法编辑之前错误的评论。不管怎样,Eric Lippert说你不应该那样做。所以不要这样做。 - user1429080
我将其重命名,所以现在没有那个了。 - Madeline
1个回答

1

请检查以下内容:

  1. 您的应用程序是否引用了包含Account类的程序集;
  2. 相应的程序集是否存在于Web应用程序的“bin”目录中 - 您可能已经引用了它,但在引用属性中没有指定为“始终复制”;
  3. 您是否已经构建了它,而不仅仅是放置在“App_Code”中(据我所知,在ASP Web应用程序中将代码放置在App_Code中是不好的做法)。

此外,您的错误是否只出现在“生产”主机上,还是也在VS devserver上重现?


汇编正在被引用。我将其删除,然后重新添加以确保。我检查了/bin文件夹,可以确定汇编确实在文件夹中。我在VS开发服务器上进行了检查,并且在将global.asax从public class更改为public partial class之后,它可以工作。我在生产主机上再次尝试了一下,但仍然抛出相同的错误。 - Madeline
另一个可能改变这种情况的重要因素是,该人已经在主文件夹上托管了另一个ASP.NET站点。他想在子文件夹中托管此站点。我已经阅读过ASP.NET可能不喜欢这样做,所以这可能是问题吗? - Madeline
本地测试怎么样?当您在解决方案资源管理器中双击并选择“在浏览器中打开”时,您的应用程序是否成功启动? - Alex G.P.
这是奇怪的地方...它在我的本地机器上可以工作,在我的机器上的一个单独的IIS实例中可以工作,在.NET 4.0和.NET 2.0经典和集成的远程服务器上也可以工作。我不知道他的服务器出了什么问题... - Madeline

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接