首页 > 解决方案 > 如何在 LAN 上部署 asp.net c# 应用程序?

问题描述

好的,让我开始说这让我发疯。我有一个 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" %>"

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

"<%@ 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 'ActivityChecker'; probabilmente manca una direttiva using o un riferimento a un Assembly

翻译如下:

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

起源于:

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(任务任务)

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

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

这是 vs 向我展示的内容:

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

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

标签: c#asp.netvisual-studioiis

解决方案


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


推荐阅读