我最近有一个C#Web解决方案,我必须从.NET 3.5升级到.NET 4.5才能升级TLS 1.2安全性。我在解决方案的每个项目的属性中更改了构建设置,现在构建得很好。我也能够更新后面的代码,但现在我无法对任何用户控件的ascx.cs文件进行任何更改。如果我这样做,就会出现构建错误。
我查找了我得到的错误消息的解决方案:' compilerVersion'提供商选项中的属性必须是' v4.0'或者稍后,如果您正在编译.NET Framework的4.0或更高版本
但他们都说删除或更新Web配置中的编译标记。我尝试删除它并且没有工作,标签按预期显示4.5和更低的4.0。这是web配置中的标签
<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上的发布工作正常我再次无法对用户控件进行更改,我需要这样做才能维护软件)
答案 0 :(得分:0)
如果您在Visual Studio中工作,并且/ desktopmodules / MODULENAME /文件夹中有web.config文件,请将其删除。您不需要它,它在.NET Framework更改期间放在那里。