我試圖實施this workaround的問題,因爲RazorEngine不能在Razor 2.0應用程序中部署,因爲它依賴於不兼容的Razor 1.0。Asp.net不應用dependentAssembly/codeBase提示
我所做的是在bin文件夾中創建了兩個目錄:1.0和2.0,並將相應的System.Web.Razor.dll文件放入每個目錄中。然後,我將dependentAssembly/codeBase提示添加到web.config中,以指向正確方向的程序集加載器。
但是,我似乎無法得到Asp.net尊重我已申請System.Web.Razor程序集的codeBase覆蓋。結果是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>
自Fusion組件裝載日誌輸出System.Web.Razor 1.0.0.0:
LOG:用戶= NT AUTHORITY \ SYSTEM LOG:DisplayName的= 系統.Web.Razor,版本= 1.0.0.0,文化=中性 公鑰= 31bf3856ad364e35(完全指定的)
LOG:應用平臺=文件:/// C:/應用/ LR2 /網絡/弧/
LOG:初始PrivatePath = C:\ APPS \ LR2 \網絡\弧\ BIN
日誌:動態基= C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \臨時ASP.NET 文件\ ROOT \ a63cc915
日誌:緩存基= C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \臨時ASP.NET 文件\ ROOT \ a63cc915
LOG:AppName的= 98966cc9
Calli ng彙編:RazorEngine,Version = 3.0.8.0,Culture = neutral, PublicKeyToken = 9ee697374c7e744a。
LOG:此綁定在默認加載上下文中啓動。
LOG:使用應用程序配置文件: C:\ APPS \ LR2 \網絡\弧\ web.config中
LOG:使用主機配置文件: C:\ WINDOWS \ Microsoft.NET \框架\ V4 .0.30319 \ aspnet.config
LOG:使用來自 的計算機配置文件C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config。
LOG:後政策參考:System.Web.Razor,版本= 1.0.0.0, 文化=中性公鑰= 31bf3856ad364e35
LOG:GAC查找不成功。
LOG:嘗試新的URL 文件下載:/// C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET文件/根/ a63cc915/98966cc9/System.Web.Razor .DLL。
LOG:嘗試新的URL 文件下載:/// C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET 文件/根/ a63cc915/98966cc9/System.Web程序。剃刀/ 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。
LOG:嘗試新的URL 文件下載:/// C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET文件/根/ a63cc915/98966cc9/System.Web.Razor 。可執行程序。
LOG:嘗試新的URL 文件下載:/// C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET 文件/根/ a63cc915/98966cc9/System.Web程序。剃刀/ 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。
LOG:所有探測URL嘗試失敗。
任何想法爲什麼Asp.net永遠不會試圖挖入bin \ 1.0?
我沒有檢查machine.config,並沒有衝突的assemblyBinding的跡象。
感謝幫助!