如何修复 Delphi Prism ASP.NET 错误:“解析器错误消息:‘Oxygene’”不是受支持的语言”

发布于 2024-10-11 04:36:22 字数 1177 浏览 1 评论 0原文

我在 Delphi Prism 中编写了一个 ASP.NET Web 应用程序(不是网站)。在我的开发机器上一切正常,但是当我将其安装在测试服务器上时,出现以下错误:

Server Error in '/MyApp' Application.
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: 'Oxygene' is not a supported language.

Source Error:

Line 1:  <%@ Application CodeBehind="Global.asax.pas" Inherits="MyApp.Global_asax" Language="Oxygene" %>


Source File: /MyApp/global.asax    Line: 1 

我已阅读在网络上可以找到的所有内容。有几篇文章提到了 RemObjects 页面 (http://devcenter.remobjects.com/articles/?id={B549AFB8-04C8-4574-B185-30DE14369E66}),不幸的是,该页面已不存在。

一些链接建议您只需将 Language="Oxygene" 更改为 Language="C#"。尝试此操作会产生不同的错误:

Compiler Error Message: CS1061: 'ASP.login_aspx' does not contain a definition for 'ForgottenUsernameLinkButton_Click' and no extension method 'ForgottenUsernameLinkButton_Click' accepting a first argument of type 'ASP.login_aspx' could be found (are you missing a using directive or an assembly reference?)

还有其他人遇到过这些问题吗?

I have written an ASP.NET web application (not site) in Delphi Prism. Everything works fine on my devlopment machine, but when I install it on a test server I get the following error:

Server Error in '/MyApp' Application.
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: 'Oxygene' is not a supported language.

Source Error:

Line 1:  <%@ Application CodeBehind="Global.asax.pas" Inherits="MyApp.Global_asax" Language="Oxygene" %>


Source File: /MyApp/global.asax    Line: 1 

I've read everything I can find on the web. Several articles mention a RemObjects page (http://devcenter.remobjects.com/articles/?id={B549AFB8-04C8-4574-B185-30DE14369E66}) which unfortunately, no longer exists.

Some links suggest that you can just change Language="Oxygene" to Language="C#". Trying this produces a different error:

Compiler Error Message: CS1061: 'ASP.login_aspx' does not contain a definition for 'ForgottenUsernameLinkButton_Click' and no extension method 'ForgottenUsernameLinkButton_Click' accepting a first argument of type 'ASP.login_aspx' could be found (are you missing a using directive or an assembly reference?)

Anybody else experienced these problems?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

枕花眠 2024-10-18 04:36:23
  1. 有几种方法可以解决这个问题。最简单的方法:如果您控制服务器是通过安装命令行版本。
  2. 另一种方法是预编译,它:您需要 Web 部署项目 来执行此操作。执行此操作时,请确保取消选中可更新选项。
  3. 在 2010 年 8 月版本中,您可以将 .compiler、.codemodel、.pdb、.cirrus 复制到 Bin/,然后在您的 web.config 中添加如下内容:


;
<编译器>
<编译语言=“Chrome”扩展名=“.pas”类型=“RemObjects.Oxygene.CodeDom.OxygeneCodeProvider,RemObjects.Oxygene.CodeModel,版本= 4.0.0.800,文化=中性,PublicKeyToken=3df3cad1b7aa5098”/>
<编译语言=“Oxygene”扩展=“.pas”类型=“RemObjects.Oxygene.CodeDom.OxygeneCodeProvider,RemObjects.Oxygene.CodeModel,版本= 4.0.0.800,Culture=neutral,PublicKeyToken=3df3cad1b7aa5098”/> />


请注意,这要求版本号 (4.0.0.800) 必须与您拥有的 CodeModel dll 的 dll 版本相匹配。

  1. There are several ways to solve this issue. The easiest way: If you control the server is by installing the command line edition.
  2. Another way is precompiling, it: You'll need the Web deployment Project to do this. When you do this, make sure to uncheck the updatable option.
  3. With the august 2010 build you can copy the .compiler, .codemodel, .pdb, .cirrus to Bin/, then to your web.config add something like:


<system.codedom>
<compilers>
<compiler language="Chrome" extension=".pas" type="RemObjects.Oxygene.CodeDom.OxygeneCodeProvider, RemObjects.Oxygene.CodeModel, Version=4.0.0.800, Culture=neutral, PublicKeyToken=3df3cad1b7aa5098" />
<compiler language="Oxygene" extension=".pas" type="RemObjects.Oxygene.CodeDom.OxygeneCodeProvider, RemObjects.Oxygene.CodeModel, Version=4.0.0.800, Culture=neutral, PublicKeyToken=3df3cad1b7aa5098" />
</compilers>
</system.codedom>

Note that in this requires that the version number (4.0.0.800) has to match the dll version of the CodeModel dll you have.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文