Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp.net未应用dependentAssembly/codeBase提示_C#_Asp.net_.net_Assembly Loading - Fatal编程技术网

C# Asp.net未应用dependentAssembly/codeBase提示

C# Asp.net未应用dependentAssembly/codeBase提示,c#,asp.net,.net,assembly-loading,C#,Asp.net,.net,Assembly Loading,我试图实现一个问题,RazorEngine不能部署在Razor2.0应用程序中,因为它依赖于不兼容的Razor1.0 我所做的是在bin文件夹中创建了两个目录:1.0和2.0,并将各自的System.Web.Razor.dll文件放入其中。然后,我将dependentAssembly/codeBase提示添加到web.config中,以将程序集加载程序指向正确的方向 但是,我似乎无法让Asp.net遵守我为System.Web.Razor程序集应用的代码基覆盖。结果是System.Web.Raz

我试图实现一个问题,RazorEngine不能部署在Razor2.0应用程序中,因为它依赖于不兼容的Razor1.0

我所做的是在bin文件夹中创建了两个目录:1.0和2.0,并将各自的System.Web.Razor.dll文件放入其中。然后,我将dependentAssembly/codeBase提示添加到web.config中,以将程序集加载程序指向正确的方向

但是,我似乎无法让Asp.net遵守我为System.Web.Razor程序集应用的代码基覆盖。结果是System.Web.Razor 1.0.0.0无法加载以供RazorEngine使用

Web.config

<configuration>
    <runtime xmlns="">
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <codeBase version="1.0.0.0" href="file://c:\apps\lr2\web\arcs\bin\1.0\System.Web.Razor.dll" />
                <codeBase version="2.0.0.0" href="file://c:\apps\lr2\web\arcs\bin\2.0\System.Web.Razor.dll" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

System.Web.Razor 1.0.0.0的Fusion程序集加载日志的输出:

日志:User=NT AUTHORITY\SYSTEM日志:DisplayName= System.Web.Razor,版本=1.0.0.0,区域性=中性, PublicKeyToken=31bf3856ad364e35(完全指定)

日志:Appbase=file:///C:/apps/lr2/web/arcs/

日志:初始PrivatePath=C:\apps\lr2\web\arcs\bin

日志:动态基础= C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\root\a63cc915

日志:缓存基= C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET 文件\root\a63cc915

日志:AppName=98966cc9

调用程序集:RazorEngine,版本=3.0.8.0,区域性=中性, PublicKeyToken=9ee697374c7e744a

日志:此绑定在默认加载上下文中启动

日志:使用应用程序配置文件: C:\apps\lr2\web\arcs\web.config

日志:使用主机配置文件: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config

日志:使用来自的计算机配置文件 C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config

日志:发布策略参考:System.Web.Razor,版本=1.0.0.0, 区域性=中性,PublicKeyToken=31bf3856ad364e35

日志:GAC查找失败

日志:正在尝试下载新URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET文件/root/a63cc915/98966cc9/System.Web.Razor.DLL

日志:正在尝试下载新URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET 文件/root/a63cc915/98966cc9/System.Web.Razor/System.Web.Razor.DLL。
日志:正在尝试下载新URL file:///C:/apps/lr2/web/arcs/bin/System.Web.Razor.DLL.

日志:正在尝试下载新URL file:///C:/apps/lr2/web/arcs/bin/System.Web.Razor/System.Web.Razor.DLL.

日志:正在尝试下载新URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET文件/root/a63cc915/98966cc9/System.Web.Razor.EXE

日志:正在尝试下载新URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET 文件/root/a63cc915/98966cc9/System.Web.Razor/System.Web.Razor.EXE

日志:正在尝试下载新URL file:///C:/apps/lr2/web/arcs/bin/System.Web.Razor.EXE.

日志:正在尝试下载新URL file:///C:/apps/lr2/web/arcs/bin/System.Web.Razor/System.Web.Razor.EXE.

日志:所有探测URL都已尝试但失败

知道Asp.net为什么从不尝试深入到bin\1.0中吗

我确实检查了machine.config,没有冲突assemblyBinding的迹象


谢谢你的帮助

我用AppDomain.CurrentDomain.AssemblyResolve事件解决了这个问题

    System.AppDomain.CurrentDomain.AssemblyResolve += (o, e) =>
    {
        if (e.Name == "System.Web.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")
            return System.Reflection.Assembly.LoadFrom(Server.MapPath("~/bin/1.0/System.Web.Razor.dll"));

        return null;
    };