Pregunta

Hemos convertido nuestra solución de .NET 2.0 a .NET 3.5. Todos los proyectos se convirtieron perfectamente, excepto el Proyecto del sitio web, que todavía no entiende a qué me refiero cuando uso 'var' y similares.

He buscado en las páginas de propiedades del proyecto web, y Target Framework está configurado en '.NET Framework 3.5'.

¿Alguna otra idea?

¿Fue útil?

Solución

Agregue lo siguiente a web.config:

  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
                type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <providerOption name="CompilerVersion" value="v3.5"/>
        <providerOption name="WarnAsError" value="false"/>
      </compiler>
    </compilers>
  </system.codedom>

Otros consejos

Por defecto, una nueva aplicación web en 3.5 tiene las siguientes referencias:

  • Sistema System.Configuration
  • System.Core
  • System.Data
  • System.Data.DataSetExtensions
  • System.Drawing
  • System.EnterpriseServices
  • System.Web
  • System.WebExtensions
  • System.Web.Mobile
  • System.Web.Services
  • System.Xml
  • System.Xml.Linq

además, en el archivo web.config, encontrará la siguiente información de ensamblaje cerca de la parte superior de su archivo web.config:

    <assemblies>
      <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
      <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    </assemblies>

y también encontrará el enlace de ensamblaje de tiempo de ejecución que se encuentra al final del archivo:

   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
          <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
          <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
        </dependentAssembly>
      </assemblyBinding>
    </runtime>

Estoy apostando a que no tener todas estas referencias está causando problemas con sus declaraciones var. Verifique que todos estos contenidos se hayan agregado / creado correctamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top