¿Por qué mi proyecto de sitio web no se adapta a .NET 3.5?
-
07-07-2019 - |
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?
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.