发布.NET c#应用程序时出错

时间:2009-09-11 15:14:06

标签: c# .net deployment frameworks publish

已经有两天了,我无法在托管计算机上使用此应用程序。这个应用程序在一个子目录中,用C#编写,另一个应用程序是C#。它在我的开发计算机上工作得很好。我一直在尝试以下方法。

  1. 1.我对web.config进行了更改,因此不会发生冲突。 (似乎很好)
  2. 创建时,应用程序是使用3.5版创建的。我降级到2.0
  3. 我一直在重新编译,确保.aspx文件和.cs文件位于目录下。 我错过了吗?
  4. 任何建议/意见或问题,请告诉我。这令人沮丧。以下是链接和我得到的错误

      

    http://www.martinesexpress-inc.com/PhoneControl/Default.aspx

         '/'应用程序中的服务器错误。   分析器错误说明:错误   解析期间发生的   为此提供服务所需的资源   请求。请查看以下内容   具体的解析错误细节和   适当修改你的源文件。

         

    分析程序错误消息:无法加载   输入'ElLogPh._Default'。

         

    来源错误:

         

    第1行:<%@ Page Language =“C#”   AutoEventWireup = “真”   代码隐藏= “Default.aspx.cs”   Inherits =“ElLogPh._Default”%>
    第2行:   
    第3行:   源文件:/PhoneControl/Default.aspx行:1   版本信息:Microsoft .NET Framework版本:2.0.50727.3053; ASP.NET   版本:2.0.50727.3053

3 个答案:

答案 0 :(得分:2)

基本上,简而言之,没有找到为你编译的dll(并且包含类'ElLogPh._Default')。这有几个原因,但这是第一个想到的,最有可能的:

第一个问题是,您是否了解Visual Studio网站项目如何与IIS应用程序对应?这是不完整的,但最简单的描述了第一个想法。

当您在Visual Studio中创建一个网站项目并构建它(或发布它,因为VS的发布过程包括首先构建它)后面的所有代码都被编译成放入“bin”目录的dll。

当您将其发布到网站时,IIS应用程序只有一个bin目录。嵌套文件夹中的任何bin目录都不会被视为实际的bin目录。

因此,如果您将其构建为另一个项目并将其复制到原始文件夹中,那么您的结构将如下所示:

\父

\父\滨

\父\ YourNewApp \

\父\ YourNewApp \滨

我认为ElLogPh._Default类位于\ Parent \ YourNewApp \ Bin中的dll中。

对此的解决方法是转到IIS管理器并使\ Parent \ YourNewApp成为应用程序。

如果听起来我在正确的道路上,可以在此处找到在IIS中创建应用程序的说明:http://www.affiliatewiz.com/support/appstartpoint.asp

答案 1 :(得分:2)

您要发布到应用程序根目录(http://www.martinesexpress-inc.com/)的子目录(PhoneControl)。如果PhoneControl不是IIS中的应用程序,那么它将不会在http://www.martinesexpress-inc.com/PhoneControl/bin中查找http://www.martinesexpress-inc.com/bin的程序集。

答案 2 :(得分:0)

我不知道这是否会有所帮助,但您是否正在以发布模式构建?