4

我正在尝试使用入门 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'或其依赖项之一。系统找不到指定的文件。”

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

我更改了应用程序池设置以设置启用 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?

4

2 回答 2

1

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

于 2011-04-07T13:40:30.790 回答
1

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

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

于 2011-04-07T16:49:21.913 回答