gpt4 book ai didi

asp.net-mvc - ASP.NET 4.6 目标 View 中的空传播运算符错误 BC36716

转载 作者:行者123 更新时间:2023-12-01 20:21:52 24 4
gpt4 key购买 nike

我有一个最初在 VS2013 中针对 .NET 4.5 编译的 MVC 解决方案。焦急地等待VS2015空传播运算符,我打开解决方案并在VS2015中重新编译它。我在 Controller 中测试了以下行并且运行良好:

Dim test = If(clientLocRec?.Website, clientRec.Website)

我很兴奋!然而,同一行在相应的 View (代码块中)中会生成错误代码 BC36716。然后,我将目标更改为 .NET 4.6,但仍然收到错误,但同样仅在 View 中。我的问题如下:

  1. 这是一个错误还是我做错了什么?
  2. 如果我想使用一些 VS2015 语言新增功能(例如传播运算符),我假设 ASP.NET 上的运行时编译需要 4.6。我的假设正确吗?

最佳答案

将此 Nuget 包添加到您的解决方案中:

https://www.nuget.org/packages/Microsoft.CodeDom.Providers.DotNetCompilerPlatform/

nuget 包应该修改您的 web.config,但请检查您的 web.config 文件中是否包含以下配置(如果未添加):

  <system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
</compilers>
</system.codedom>

这正好位于 <configuration /> 内元素。

这会将 codedom 生成器替换为 Roslyn 驱动的生成器。之后,这将在您的 Razor View 中起作用。

我相信需要 MVC 5.2.3 或更高版本才能正常工作。

关于asp.net-mvc - ASP.NET 4.6 目标 View 中的空传播运算符错误 BC36716,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31730494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com