【问题标题】:How to deploy an asp.net c# application on LAN?如何在 LAN 上部署 asp.net c# 应用程序?
【发布时间】:2018-09-24 12:28:47
【问题描述】:

好的,让我开始说这让我发疯。我有一个 asp.net C# 项目。当我在 Visual Studio 上尝试时,该代码运行良好。我使用发布选项来部署一些东西。把它放在"C:\inetpub\wwwroot\Publish" and suddently errors come up. first one says that "unable to load type : 'WebApplication1.Source.WebForm1' "。 (对不起,如果它不完全准确,但我的操作系统不是英文的。

/OurPage.aspx 文件第 1 行的信号和错误

"<%@ Page Language="C#" AutoEventWireup="true" Inherits="WebApplication1.Source.WebForm1" Codebehind="OurPage.aspx.cs" %>"

所以我google了一下,发现一个可能的解决方案是将上面的代码更改为。

"<%@ Page Language="C#" AutoEventWireup="true" Inherits="WebApplication1.Source.WebForm1" Codefile="OurPage.aspx.cs" %>"

代码隐藏变成代码文件的地方。

现在看来这个小问题已经解决了,因为我得到一个不同的错误,它说文件“/OurPage.aspx.cs”不存在。 因此,我去检查并有效地检查了构建源目录中缺少该文件,而解决方案中存在该文件,因此我将 aspx.cs 文件也粘贴在那里。 现在错误再次发生变化:

CS0246: Impossibile trovare il tipo o il nome dello spazio dei nomi '活动检查器'; probabilmente manca una direttiva using o un 为联合国大会做准备

翻译如下:

找不到类型或命名空间“活动检查器;可能丢失 对程序集的使用或引用

出处:

ActivityChecker ac = new ActivityChecker();

所以我认为这可能是由于我使用部署功能生成的源目录中缺少活动检查器。但将其粘贴到部署目录不会改变任何内容。所以我猜我在部署到目录配置时遇到了一些问题,或者在编码中有某种我不知道的标准使我的文件遗漏了一些东西。

以下是上述类的代码: (我是 asp.net 编程的新手,这就是我真正需要提供的全部内容)

https://github.com/Cicciopalla001/SimplePage/tree/master/WorkingPartCount

因此,基本上整个代码的目的是从另一个包含大量数据的页面中读取数据,并删除所有无用的数据,以输出我们需要的 2,它们基本上是零件计数和作业。如果我在 Visual Studio 上构建它,它会完美运行。我还将页面设置为每 15 秒刷新一次,这样它就可以在用户不做任何事情的情况下保持更新。问题是当我尝试部署它时,我的工作项目甚至没有运行。请有人拯救我的大脑,我真的不知道该怎么办了。我已经为它安装了 iis 和 asp.net,在 win 10 上运行(不是服务器,不确定它是否是关键)并解决了一些问题,但我解决了 10 个问题,我真的到了我不这样做的地步不知道该尝试什么了。希望有人能证实我这只是一个愚蠢的问题并给我一个解决方案,并感谢所有阅读这首诗并试图找到解决方案的人。也为我糟糕的英语感到抱歉,但作为一个意大利人,我知道这是一种模因。 另外我忘了提到我不能直接在 IIS 上部署,因为我收到一条错误消息

“诊断:远程计算机上未安装或无法访问 Web 管理服务或远程代理。

解决方案:验证远程计算机上是否启动了远程代理服务或 Web 管理服务,具体取决于您要连接的计算机。您可以在远程计算机上执行“net start wmsvc & net start msdepsvc”以确保这些服务已启动。此外,请确保防火墙不会中断与目标的通信。”

但给定的解决方案似乎都不适合我。

然后我尝试在 IIS 上强制部署,但显然失败了,这是日志。

系统。 AggregateException:发生一个或多个错误。 ---> 系统。异常:编译失败。有关详细信息,请参阅“输出”窗口。

---内部异常的堆栈跟踪结束---

在系统。穿线。任务。任务。 ThrowIfExceptional(布尔包含任务取消异常)

在系统。穿线。任务。任务。等待(Int32 毫秒超时,CancellationToken 取消令牌)

在微软。视觉工作室。网络。发布。发布服务。 VSwebproject 发布。 C __ DisplayClass43_0。 B ___ 2 ()

在系统。穿线。任务。任务'1.Innerinvoke()

在系统。穿线。任务。任务。执行()

---堆栈跟踪从上次抛出异常的位置结束---

在系统。运行。编译器服务。任务服务员。 Throwfornonsuccess(任务任务)

在系统。运行。编译器服务。任务服务员。 Handlenonsuccessanddebuggernotification(任务任务) 在微软。视觉工作室。应用能力。发布。视图模型。配置文件选择器视图模型。 d __ 127. MoveNext ()

--->(内部异常 0)系统。异常:编译失败。有关详细信息,请参阅输出窗口。

这是 vs 向我展示的内容:

严重性代码项目描述文件行状态删除 Web 部署活动失败(无法连接到远程计算机(“192.168.1.128”)。确保您的计算机已安装 Web 部署并且所需的进程(“Web 部署代理服务”)已启动。更多信息请访问: Http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE

希望最后一次编辑:显然我的部署代理服务不工作,这会阻止它正确构建。

【问题讨论】:

  • 为什么这么多代码?,如果你部署在 IIF 你可以在防火墙中设置入站规则,它会让你通过 LAN 访问你的应用程序
  • @PrathapG 你能更具体一点吗?我要问的是为什么我的代码在托管时不起作用,但在 Visual Studio 上运行时起作用。由于某种原因,我也不能直接在 IIS 上部署。将编辑原始帖子以添加更多信息。
  • 也许我只是懒惰 - 但这个问题似乎太大而无法消化。当然所有这些代码和描述都不相关吗?你能把它蒸馏一下吗?
  • So I went to check and effectively the file is missing from the build source directory while is there in the solution so I took the aspx.cs file and pasted it there too. - 您可以期望 not 在部署后找到代码隐藏文件。它们是构建的一部分,因此被编译到程序集(dll)中。
  • 我觉得您在这里遇到了很多问题,并且您正试图一次解决所有问题。让您的生活更轻松。首先 - 检查它的构建。如果您的输出窗口中有任何错误,它将是相关的。在构建过程中你不应该有任何错误(除非你有我怀疑你做的构建后事件)。

标签: c# asp.net visual-studio iis


【解决方案1】:

好的,找到了解决方案。或者至少它现在可以在整个局域网上运行。基本上,我从 Microsoft Web 平台安装程序安装了一些 IIS 包,使用默认设置为文件夹部署创建了一个全新的部署配置文件,并且它通过了(仍然无法通过 IIS 部署,因为现在我显然缺少管理员用户的一些权限: /)。把发布目录和往常一样放在 C:\inetpub\wwwroot 中。不同之处在于,现在我有一个选项,比如(在 IIS 管理器左侧面板中的应用程序中打开它),它突然开始工作。显然它一直没有被识别为应用程序:/ 非常沮丧和困惑,但它仍然有效!!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多