0

I'm hoping someone with some experience in Breeze/Durandal 2 on .NET 4.0 will be able to assist me with this error, as I'm pretty new to the mix.

I've been working on a Durandal 2/KO/Require SPA project that lately has been compiling fine and running on my IIS7. I need this app to be compatible with IE8, so I imported the shim and sham js libs as such:

    <!-- ECMAScript 5 compatibility shims for IE8 -->
    <!--[if lt IE 9]>
        <script src="lib/ie8/html5shiv.min.js"></script>
        <script src="lib/ie8/respond.js"></script>
        <script src="lib/ie8/es5-shim.min.js"></script>
        <script src="lib/ie8/es5-sham.min.js"></script>
    <![endif]-->

    <script src="lib/jquery/jquery-1.9.1.min.js"></script>
    <script src="lib/knockout/knockout-3.1.0.js"></script>
    <script src="/Scripts/q.min.js"></script>
    <script src="/Scripts/breeze.debug.js"></script>
    <script src="lib/bootstrap/js/bootstrap.js"></script>

I also need to be able to access data from a DB so I tried adding BreezeJS to the mix. According to Breeze's documentation, in order for this to work I had to remake the project in VS as ASP.NET MVC4 Project using the Empty Template. After that I imported the Breeze files using NuGet:

Install-Package Breeze.WebApi

Then I added in my pre-existing views, controllers, libraries, css, etc. to the newly created project. Now when I compile using IE8 I get the following error. This error does not show up for Firefox or Chrome:

Unhandled exception at line 125, column 13 in 
http://localhost:64185/lib/durandal/js/composition.js

(Edited for readability)
SourceMap D:\localdev\TestMVC4\TestMVC4\lib\ie8\es5-shim.map read failed: 
Could not find file 'D:\localdev\TestMVC4\TestMVC4\lib\ie8\es5-shim.map'.
SourceMap D:\localdev\TestMVC4\TestMVC4\lib\ie8\es5-sham.map read failed: 
Could not find file 'D:\localdev\TestMVC4\TestMVC4\lib\ie8\es5-sham.map'.
Unhandled exception at line 125, column 13 in http://localhost:64185/lib/durandal/js/composition.js

0x800a138f - Microsoft JScript runtime error: 'route' is null or not an object

I thought this might be a compatibility issue with JQuery so I attempted different versions there. I've made sure that my DocType is set to:

<!DOCTYPE html>

and that I have the following meta tag:

<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />

However I doubt either of those would cause issues with IE8 and Durandal. Has anyone else experienced a similar issue to mine? Am I experiencing this error because I haven't configured something on the MVC4 side?

Any advice would be greatly appreciated.

Thank you

1 Answers1

0

After further digging into the Durandal composition.js I found that the skipActivation parameter in the "tryActivate" function was undefined, which resulted in the error. I'm pretty sure this problem is a result of IE8 support from Durandal, so I went ahead and scrapped IE8 and I am now developing for IE9 and up.

This isn't a fix, but I've had enough headaches with this and I will be moving on ...