обновить до .NET 4.5

Недавно у меня было веб-решение C#, в котором мне пришлось перейти с .NET 3.5 на .NET 4.5, чтобы повысить безопасность TLS 1.2. Я изменил настройку сборки в свойствах каждого проекта решения, которое теперь отлично строится. Я также могу нормально обновить код, но теперь я не могу внести какие-либо изменения в файлы ascx.cs для любых пользовательских элементов управления. Если я это сделаю, возникнут ошибки сборки.

Я искал решения для сообщения об ошибке, которое я получаю: значение атрибута «compilerVersion» в параметрах поставщика должно быть «v4.0» или более поздней версии, если вы компилируете для версии 4.0 или более поздней версии .NET Framework.

но все они говорят удалить или обновить тег компиляции в веб-конфигурации. Я попытался удалить его, и это не сработало, и тег показывает 4,5 и ниже 4,0, как и ожидалось. вот теги в веб-конфигурации

<compilation targetFramework="4.5">
  <assemblies>
    <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
    <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=[some token]"/>
  </assemblies>
</compilation>
<pages controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID"/>

Если это имеет значение, то это набор модулей для dotnetnuke (и публикация на Dnn7 работает нормально, я просто снова не могу внести изменения в пользовательские элементы управления, мне нужно это сделать для поддержки программного обеспечения)


person Davidp04    schedule 16.09.2016    source источник


Ответы (1)


Если вы работаете в Visual Studio и у вас есть файл web.config В папке /desktopmodules/ИМЯ_МОДУЛЯ/, удалите его. Он вам не нужен, он был помещен туда во время изменения .NET Framework.

person Chris Hammond    schedule 19.09.2016