Huz*_*zzi 8 asp.net-mvc razor roslyn c#-6.0
我有两个相同的ASP.Net 4.6 MVC项目,项目1在网站内使用roslyn编译器工作正常.
c:\ windows\system32\inetsrv> C:\ Websites1\bin\roslyn\csc.exe Microsoft(R)Visual C#编译器版本1.2.0.60325
在第二个项目中我得到了下面的错误,它正在使用.Net框架中的编译器.
c:\ windows\system32\inetsrv>"C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe"Microsoft(R)Visual C#编译器版本4.6.1590.0
Line 6: @if (!Model?.Item?.IsDerived(Templates.PageMetadata.ID) ?? true)
Line 7: {
Line 8: return;
c:\Website2\Views\metadata.cshtml(6,17): error CS1525: Invalid expression term '.'
c:\Website2\Views\metadata.cshtml(6,18): error CS1003: Syntax error, ':' expected
c:\Website2\Views\metadata.cshtml(6,23): error CS1525: Invalid expression term '.'
c:\Website2\Views\metadata.cshtml(6,24): error CS1003: Syntax error, ':' expected
c:\Website2\Views\metadata.cshtml(6,68): error CS1002: ; expected
c:\Website2\Views\metadata.cshtml(6,68): error CS1525: Invalid expression term ')'
c:\Website2\Views\metadata.cshtml(6,69): error CS1002: ; expected
我在两个项目中都使用了Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
我的问题是为什么第二个项目不使用roslyn编译器,是否有办法强制它在站点内使用roslyn编译器?
我也尝试过Microsoft.Net.Compilers nuget包.
Huz*_*zzi 11
将以下内容添加到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=\"Web\" /optionInfer+"/>
</compilers>
</system.codedom>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9434 次 |
| 最近记录: |