【问题标题】:OpenRasta w/ .Net 4.0 running under Win 7 64 with IIS7.5OpenRasta w/.Net 4.0 在 Win 7 64 和 IIS7.5 下运行
【发布时间】:2011-04-07 13:08:45
【问题描述】:

我正在尝试使用入门 OpenRasta 应用程序。 https://github.com/openrasta/openrasta-stable/wiki/Building-Your-First-OpenRasta-Website

我在 Windows 7 64 位下使用 .Net4,我的目标是 IIS 7.5。我已将我的活动配置设置为调试,并将我的平台设置为任何 CPU。我使用的 OpenRasta 版本是 2.0.3。

这是我得到的错误:“无法加载文件或程序集 'OpenRasta.Hosting.AspNet' 或其依赖项之一。系统找不到指定的文件。”

我怀疑这与 OpenRasta 为 .net35 而不是 4 编译有关? 我尝试了许多不同的方法来解决这个问题,但我仍然卡住了。

我将应用程序池设置更改为启用 32 位应用程序 = true,这是我正在使用的 web.config:

    <?xml version="1.0"?>
<configuration>
    <system.diagnostics>
        <switches>
            <add name="ShowErrors" value="4"/>
        </switches>
        <!-- log to debug output -->
        <sources>
            <source name="OpenRasta" switchValue="All">
                <listeners>
                    <add name="TextWriterListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="Logs\OpenRasta.txt"/>
                </listeners>
            </source>
        </sources>
    </system.diagnostics>
    <system.web>
        <compilation debug="true" targetFramework="4.0">
        </compilation>
        <authentication mode="None"/>
        <!-- required for WebForms views -->
        <pages pageParserFilterType="OpenRasta.Codecs.WebForms.OpenRastaPageParserFilter, OpenRasta.Codecs.WebForms, Version=2.0.1.0, Culture=neutral" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
            <namespaces>
                <add namespace="OpenRasta.Web"/>
                <add namespace="OpenRasta.Web.Markup"/>
                <add namespace="OpenRasta.Codecs.WebForms"/>
                <add namespace="OpenRasta"/>
                <add namespace="System.Collections.Generic"/>
            </namespaces>
        </pages>
        <!-- hook into OpenRasta -->
        <httpHandlers>
            <add verb="*" path="*.rastahook" type="OpenRasta.Hosting.AspNet.OpenRastaHandler, OpenRasta.Hosting.AspNet, Version=2.0.1.0, Culture=neutral"/>
        </httpHandlers>
        <httpModules>
            <add name="RastaModule" type="OpenRasta.Hosting.AspNet.OpenRastaModule, OpenRasta.Hosting.AspNet, Version=2.0.1.0, Culture=neutral"/>
        </httpModules>
    </system.web>
    <system.codedom>
        <compilers>
            <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" compilerOptions="/warnaserror-">
                <providerOption name="CompilerVersion" value="v4.0"/>
                <providerOption name="WarnAsError" value="false"/>
            </compiler>
        </compilers>
    </system.codedom>
    <!-- iis7 config -->
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <!-- hook into OpenRasta -->
        <modules>
            <add name="OpenRastaModule" type="OpenRasta.Hosting.AspNet.OpenRastaModule, OpenRasta.Hosting.AspNet"/>
        </modules>
        <handlers>
            <add name="OpenRastaHandler" verb="*" path="*.rastahook" type="OpenRasta.Hosting.AspNet.OpenRastaHandler, OpenRasta.Hosting.AspNet, Version=2.0.1.0, Culture=neutral"/>
        </handlers>
    </system.webServer>
</configuration>

任何帮助将不胜感激!也许有一个我找不到的 .net 4 版本的 openrasta?

【问题讨论】:

    标签: c#-4.0 iis-7.5 openrasta


    【解决方案1】:

    32 位或 64 位对此没有影响。您是否添加了对相关程序集的项目引用?

    【讨论】:

    • 是的,我添加了对 OpenRasta.dll、OpenRasta.Hosting.AspNet.dll 和 OpenRasta.Codecs.WebForms.dll 的引用。 (3.5 版本)到我的 WebApp。
    【解决方案2】:

    好的,我修好了这个。我遵循了输出中的调试建议,并将注册表设置为显示程序集绑定失败。 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 为 1。

    这让我可以看到它在哪里寻找程序集。原来项目的输出文件夹被设置为一些奇怪的路径而不是 bin/ 一旦我将它设置为 bin/ 我就能够克服这个错误。感谢大家花时间阅读本文

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 2013-06-22
      • 2011-07-04
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多