IIS 中的简单 asp.net 预编译问题

     2023-03-29     164

关键词:

【中文标题】IIS 中的简单 asp.net 预编译问题【英文标题】:Simple asp.net precompilation issue in IIS 【发布时间】:2010-07-16 11:56:30 【问题描述】:

看起来我对一个简单的问题感到震惊。我正在托管一个预编译的网站。它可以在我的本地盒子中编译并正常工作。但是当我在 IIS 中托管时,它会失败并出现以下错误。

无法加载类型“MyHero.Home1”。

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Home.aspx.vb" Inherits="MyHero.Home1" %>

我可以在 Bin 中找到 MyHero.dll。我也在对象浏览器中打开了它,可以看到有一个 Home1 类型。 MyHero.Home1 类型存在并且是公共的。所以它肯定是预编译的。不确定我在这里缺少什么。这是我第一次使用 VB.NET。

这就是代码背后的样子

Partial Public Class Home1
    Inherits System.Web.UI.Page

部分类的其他部分是设计器生成的。并且在 Home.aspx.designer.vb

Partial Public Class Home1

我没有上传代码作为它的预编译站点。

我在 Windows server 2003 上使用 IIS。任何指针都会很有帮助。

我可以看到 Home1。列在对象资源管理器中的 MyHero 命名空间下。只是为了确保我在 Home1 类周围添加了命名空间 Hero,尝试但结果相同。还尝试从 aspx 页面中删除命名空间前缀继承没有帮助。

Windows Server 2003 上的 IIS 是否存在任何已知问题。.NET 框架和 IIS 的安装顺序是否会影响这一点?我在新安装的盒子上托管这个。它在我的开发框中运行良好。

感谢dariom,我安装了融合日志查看器。这是绑定日志,似乎没有给出太多线索。是吗?

The operation failed.
Bind result: hr = 0x80131018. No description available.

Assembly manager loaded from:  c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable  c:\windows\system32\inetsrv\w3wp.exe
--- A detailed error log follows. 
=== Pre-bind state information ===
LOG: User = NT AUTHORITY\NETWORK SERVICE
LOG: DisplayName = MyHero
 (Partial)
LOG: Appbase = file:///C:/Inetpub/wwwroot/cmail/MyHero/
LOG: Initial PrivatePath = C:\Inetpub\wwwroot\cmail\MyHero\bin
LOG: Dynamic Base = c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\2125db8d
LOG: Cache Base = c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\2125db8d
LOG: AppName = 97d7397b
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Inetpub\wwwroot\cmail\MyHero\web.config
LOG: Using host configuration file: \\?\C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet.config
LOG: Using machine configuration file from c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/2125db8d/97d7397b/MyHero.DLL.
LOG: Attempting download of new URL file:///c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/2125db8d/97d7397b/MyHero/MyHero.DLL.
LOG: Attempting download of new URL file:///C:/Inetpub/wwwroot/cmail/MyHero/bin/MyHero.DLL.
LOG: Assembly download was successful. Attempting setup of file: C:\Inetpub\wwwroot\cmail\MyHero\bin\MyHero.dll
LOG: Entering download cache setup phase.
ERR: Error extracting manifest import from file (hr = 0x80131018).
ERR: Setup failed with hr = 0x80131018.
ERR: Failed to complete setup of assembly (hr = 0x80131018). Probing terminated.

【问题讨论】:

【参考方案1】:

伙计们,我能够解决这个问题。这是一个 Windows 7 安全问题。我正在将代码从 Windows 7 笔记本电脑上传到服务器。 dll 似乎带有一些隐藏的安全权限。

我已使用 winrar 归档 dll 并将其提取到服务器上。只是为了确保删除所有安全权限。 dll 现在加载正常,只是它困扰了我们将近一个星期。

感谢您的所有帮助。

【讨论】:

【参考方案2】:

将 Home1 类放在 MyHero 命名空间中就可以了。国际海事组织。

【讨论】:

我可以在 ObjectExplorer 中看到它的 uder MyHero 命名空间。只是为了确保我添加了名称空间,但结果相同。还从 aspx 页面中删除命名空间前缀继承没有帮助。【参考方案3】:

当你说你的应用程序是预编译的......你是怎么做到的?我很惊讶在您的页面指令(在预编译页面中)中看到 CodeBehind="" 属性。确保您的虚拟目录中没有文件“Home.aspx.vb”。您只需要 Inherits=""。您还可以将程序集的名称添加到继承值中,例如:Inherits="MyHero.Home1, MyHero"

【讨论】:

现在好像有了一些进展。在我将程序集名称添加到 Inherits 错误后读取.. 无法加载程序集“MyHero.dll”。确保在访问页面之前已对其进行编译。我正在使用 VS2008 的发布选项到本地目录并将文件移动到服务器/这个程序集在 Bin 文件夹中 很难相信程序集位于带有该错误消息的 bin 文件夹中!我不确定默认情况下该发布功能喜欢将文件放在哪里,但我似乎记得它就在本地文件之上...确保您发布到一个新文件夹(在您的项目之外)。不过最好使用这个:microsoft.com/downloads/… 是的,马特这是非常奇怪的错误。根据我的逻辑思维,这听起来没有任何意义。【参考方案4】:

您的方案听起来应该可以正常工作 - 我看不出您的 ASPX 和代码隐藏文件有任何问题。

如果您有权访问运行应用程序的 IIS 服务器,则可以尝试使用 Fusion Log Viewer 来确定 .NET 运行时尝试加载 MyHero 程序集时发生的情况。 This MSDN Magazine article 包含有关启用活页夹日志记录和使用 Fusion Log Viewer 的详细信息。希望这可以揭示为什么找不到您的程序集。

【讨论】:

我没有在服务器上安装 .net 框架 SDK。我认为 Fusion log 是一个 SDK 工具? 是的,它是 .Net Framework SDK 的一部分。不确定它是否有效,但您可以尝试将 Fusion Log Viewer 可执行文件 (fuslogvw.exe) 临时复制到服务器以帮助进行故障排除,然后再将其删除。 感谢您花费了一段时间来获得 box 上的管理员权限并安装 SDK。我发布的日志对我来说似乎没有多大意义。如果您从中得到任何线索,请帮助我。 我认为 Fusion 日志文件的最后 3 行表明存在某种问题。我以前从未见过这种情况,不确定解决方案可能是什么。您可以尝试删除临时 ASP.NET 文件夹(C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files)的内容,然后重试。否则我不确定你为什么在提取程序集的清单时遇到问题...... 一篇帖子暗示这可能与杀毒软件有关:msmvps.com/blogs/carlosq/archive/2007/03/23/…这是一个远景,但也许?

预编译的 asp.net 网站报错

...bin中都有单独的dll文件。因此,如果我们想更改实时环境中的任何内容,我们需要再次发布整个网站.如果我尝试替换特定页面dll,那么它会给我一个错误。所以无法找到我只想构建一个应 查看详情

WCF 和 ASP.Net 预编译

】WCF和ASP.Net预编译【英文标题】:WCFandASP.NetPrecompile【发布时间】:2011-04-0818:23:43【问题描述】:在我的asp.netWeb应用程序的“服务”目录中有一个WCF服务。在/Services/MyService.svc/Services/MyService.svc.cs将我的源代码复制到虚拟目录时... 查看详情

使用 ms build 预编译 asp.net 视图

】使用msbuild预编译asp.net视图【英文标题】:Precompileasp.netviewswithmsbuild【发布时间】:2018-08-0806:04:49【问题描述】:当我通过VisualStudio部署asp.net应用程序时,我知道我可以选中Precompileduringpublish并取消选中Allowprecompiledsitetobeupdatea... 查看详情

ASP.Net 资源文件

...序的UI上运行一些功能测试。我想确保Web项目中资源文件中的字符串在正确的时间和地点显示。简单(我认为)我所要做的就是引用Web应用程序的程序集并断言从UI读取的文本selenium与相应资源文件中的测试匹配。问题是ASP.Net对... 查看详情

使用 MSBuild 预编译 ASP.NET Web 应用程序

】使用MSBuild预编译ASP.NETWeb应用程序【英文标题】:PrecompilingASP.NETWebapplicationwithMSBuild【发布时间】:2009-10-1307:04:10【问题描述】:我在VisualStudio2008中有一个c#Web应用程序项目,我想对其进行预编译以进行部署。在查看了各种选... 查看详情

如何修复 ASP.NET 错误“文件'nnn.aspx'尚未预编译,无法请求。”?

】如何修复ASP.NET错误“文件\\\'nnn.aspx\\\'尚未预编译,无法请求。”?【英文标题】:HowtofixASP.NETerror"Thefile\'nnn.aspx\'hasnotbeenpre-compiled,andcannotberequested."?如何修复ASP.NET错误“文件\'nnn.aspx\'尚未预编译,无法请求。”?【发... 查看详情

如何在 ASP.NET Core 2.0 中预编译视图?

】如何在ASP.NETCore2.0中预编译视图?【英文标题】:HowtoprecompileviewsinASP.NETCore2.0?【发布时间】:2018-09-0919:29:48【问题描述】:我根据article设置了我的解决方案。我省略了一些内容,因为根据this,ASP.NETCore2.0默认预编译视图。最... 查看详情

ASP NET MVC 4 Razor Views 预编译花费大量时间

】ASPNETMVC4RazorViews预编译花费大量时间【英文标题】:ASPNETMVC4RazorViewsPrecompilationtakinganinsaneamountoftime【发布时间】:2021-12-1817:47:58【问题描述】:我问这个问题只是因为我已经尝试了所有其他与慢速剃须刀编译相关的问题中提出... 查看详情

使用 Web 部署项目在 Mono 上预编译 ASP.NET MVC

】使用Web部署项目在Mono上预编译ASP.NETMVC【英文标题】:PrecompilingASP.NETMVConMonowithWebDeploymentProject【发布时间】:2009-10-3123:02:35【问题描述】:我正在尝试使用VisualStudio2008Web部署项目预编译我的ASP.NETMVC应用程序并将其从VisualStudio2... 查看详情

在 ASP.NET MVC Web 应用程序中包含预编译的视图

】在ASP.NETMVCWeb应用程序中包含预编译的视图【英文标题】:IncludingPre-CompiledViewsinanASP.NETMVCWebApplication【发布时间】:2012-11-2712:30:17【问题描述】:Reference请参阅上面的博客。我正在尝试在MVC3中创建用户控件的类库。参考上面的... 查看详情

在 TFS 2010 构建服务器中预编译 asp.net MVC 网站

】在TFS2010构建服务器中预编译asp.netMVC网站【英文标题】:pre-compileasp.netMVCwebsiteinTFS2010buildserver【发布时间】:2013-11-2815:28:40【问题描述】:我已经使用TFS2010构建服务器为asp.netMVC项目设置了持续部署过程。我正在使用“FlieCopy”... 查看详情

IIS 中 ASP.NET Core 中的 CORS

】IIS中ASP.NETCore中的CORS【英文标题】:CORSinASP.NETCoreinIIS【发布时间】:2020-02-1810:09:13【问题描述】:我发现了一个有趣的问题。我在IIS上部署了我的ASP.NETCoreRESTAPI,当我调用它时,我遇到了这个错误:AccesstoXMLHttpRequestat\'https...\... 查看详情

IIS (ASP.NET) 中的请求等待时间稳定

】IIS(ASP.NET)中的请求等待时间稳定【英文标题】:RequestWaitTimeissteadyinIIS(ASP.NET)【发布时间】:2018-09-2512:59:46【问题描述】:我在SolarWinds中监控我的应用程序运行状况,奇怪的是我注意到请求等待时间计数器是稳定的。即使队列... 查看详情

将 ASP NET Core 部署到 IIS

...正常工作...我不断收到500内部服务器错误根据事件查看器中的日志,这是罪魁祸首:Failedtosta 查看详情

IIS 7.5 中的 Asp.net mvc 4 应用程序问题

】IIS7.5中的Asp.netmvc4应用程序问题【英文标题】:Asp.netmvc4ApplicationissueinIIS7.5【发布时间】:2016-05-0419:21:53【问题描述】:我在服务器上遇到了这个问题。本地:当我在本地运行我的应用程序时,我得到的URL为http://localhost:63952/Hom... 查看详情

迁移到 ASP.NET/Blazor 项目中的身份验证数据库时,是不是可以创建一些预注册用户?

】迁移到ASP.NET/Blazor项目中的身份验证数据库时,是不是可以创建一些预注册用户?【英文标题】:Isitpossibletocreatesomepre-registeruserswhenmigratetoauthenticationDBinASP.NET/Blazorproject?迁移到ASP.NET/Blazor项目中的身份验证数据库时,是否可以... 查看详情

为啥 Azure Web 角色上的 IIS 需要如此频繁地重新编译 ASP.NET 应用程序?

】为啥AzureWeb角色上的IIS需要如此频繁地重新编译ASP.NET应用程序?【英文标题】:WhydoesIISonAzureWebRolesneedtorecompileASP.NETappssooften?为什么AzureWeb角色上的IIS需要如此频繁地重新编译ASP.NET应用程序?【发布时间】:2011-05-0600:33:20【问... 查看详情

ASP.NET WebAPI 和 IIS 中的请求时间不一致

】ASP.NETWebAPI和IIS中的请求时间不一致【英文标题】:InconsistentrequesttimingsinASP.NETWebAPIandIIS【发布时间】:2015-06-2709:11:33【问题描述】:问题我正在测试我们的一个AngularJS+ASP.NETWebAPI应用程序的性能。我观察到的奇怪之处在于,完... 查看详情