Почему мой проект веб-сайта не адаптируется к .NET 3.5? - PullRequest
5 голосов
/ 10 ноября 2008

Мы преобразовали наше решение из .NET 2.0 в .NET 3.5. Все проекты конвертировались просто отлично, за исключением проекта веб-сайта, который все еще не понимает, что я имею в виду, когда использую 'var' и тому подобное.

Я просматривал страницы свойств веб-проекта, и для Target Framework установлено значение .NET Framework 3.5.

Есть еще идеи?

Ответы [ 2 ]

4 голосов
/ 11 ноября 2008

Добавьте в 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>
3 голосов
/ 10 ноября 2008

По умолчанию новое веб-приложение в версии 3.5 имеет следующие ссылки:

  • Система 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

Кроме того, в файле web.config вы найдете следующую информацию о сборке в верхней части файла 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>

и вы также найдете привязку сборки времени выполнения, найденную в нижней части файла:

   <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>

Держу пари, что отсутствие всех этих ссылок вызывает проблемы с вашими объявлениями var. Убедитесь, что все это содержимое было правильно добавлено / создано.

...