title: TypeScript - Object doesn't support property or method 'defineProperty'
body: <p>I recently created a TypeScript project for a relatively complex simulation engine using Visual Studio which, by default, targeted ECMAScript 3 (ES3).  I wanted to start using real properties in my TypeScript classes, so I updated my project file to target ES5, like so:</p>
  
  <pre><code>&lt;PropertyGroup Condition="'$(Configuration)' == 'Debug'"&gt;
    &lt;TypeScriptTarget&gt;ES5&lt;/TypeScriptTarget&gt;
    &lt;TypeScriptRemoveComments&gt;false&lt;/TypeScriptRemoveComments&gt;
    &lt;TypeScriptSourceMap&gt;true&lt;/TypeScriptSourceMap&gt;
    &lt;TypeScriptModuleKind&gt;AMD&lt;/TypeScriptModuleKind&gt;
  &lt;/PropertyGroup&gt;
  &lt;PropertyGroup Condition="'$(Configuration)' == 'Release'"&gt;
    &lt;TypeScriptTarget&gt;ES5&lt;/TypeScriptTarget&gt;
    &lt;TypeScriptRemoveComments&gt;true&lt;/TypeScriptRemoveComments&gt;
    &lt;TypeScriptSourceMap&gt;false&lt;/TypeScriptSourceMap&gt;
    &lt;TypeScriptModuleKind&gt;AMD&lt;/TypeScriptModuleKind&gt;
  &lt;/PropertyGroup&gt;
  </code></pre>
  
  <p>Now when I run my application in IE (v10), I get a run-time exception: "0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'defineProperty'".  If I switch to launching my application with any other browser (e.g., Firefox, Chrome), it works as expected - no errors.  I can't seem to find any reason why IE isn't working as expected.  I found a website that confirmed that, in general, my IE browser supports 'defineProperty', so now I'm really baffled as to why it won't work during development.  This is getting particularly critical since I can't debug my TypeScript code in VS.  Any thoughts?</p>