C# ASP.NET Razor出现CSharp编译器运行时错误
我有一个新的ASP.NET服务 在我本地的机器上一切都很好。但是,在群集上,每当我尝试导航到页面时,都会出现以下错误:C# ASP.NET Razor出现CSharp编译器运行时错误,c#,razor,asp.net-core,asp.net-core-mvc,C#,Razor,Asp.net Core,Asp.net Core Mvc,我有一个新的ASP.NET服务 在我本地的机器上一切都很好。但是,在群集上,每当我尝试导航到页面时,都会出现以下错误: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create' 抛出此错误的具体行是我的C#Razor视图的开始: ViewBag.Title = "My Home Page"; 我环顾StackOverflow,发现其他人通过直接引用Microsoft.
Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'
抛出此错误的具体行是我的C#Razor视图的开始:
ViewBag.Title = "My Home Page";
我环顾StackOverflow,发现其他人通过直接引用Microsoft.CSharp解决了类似的问题,但这并没有解决我的问题
版本:
public sealed class MyController: Controller
{
private readonly ILogger logger;
/// <summary>
/// Initializes a new instance of the <see cref="MyController"/> class.
/// </summary>
/// <param name="logger">Dependency Injected logger</param>
public MyController(ILogger<MyController> logger)
{
if (logger == null)
{
throw new System.ArgumentNullException(nameof(logger));
}
this.logger = logger;
}
/// <summary>
/// Gets the homepage
/// </summary>
/// <returns>ASP.NET Razor page</returns>
[ActionName("Index")]
[Route("")]
public ActionResult Index()
{
return this.View();
}
}
@{
ViewBag.Title = "My Home Page";
}
- ASP.NET核心版本1.1.0
- ASP.NET核心MVC v1.1.0
- .NET Framework v4.6.1
public sealed class MyController: Controller
{
private readonly ILogger logger;
/// <summary>
/// Initializes a new instance of the <see cref="MyController"/> class.
/// </summary>
/// <param name="logger">Dependency Injected logger</param>
public MyController(ILogger<MyController> logger)
{
if (logger == null)
{
throw new System.ArgumentNullException(nameof(logger));
}
this.logger = logger;
}
/// <summary>
/// Gets the homepage
/// </summary>
/// <returns>ASP.NET Razor page</returns>
[ActionName("Index")]
[Route("")]
public ActionResult Index()
{
return this.View();
}
}
@{
ViewBag.Title = "My Home Page";
}
我必须将它添加到Program.cs中(在ConfigureServices
块中),以使其在本地工作。我怀疑这可能是问题所在,但不确定如何解决:
services.AddMvc().AddRazorOptions(options =>
{
foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies())
{
if (!assembly.IsDynamic && !string.IsNullOrEmpty(assembly.Location))
{
options.AdditionalCompilationReferences.Add(MetadataReference.CreateFromFile(assembly.Location));
}
}
});
非常感谢您对修复的任何建议 是否正在从其他程序集加载视图?否,这些视图都在我的常规项目中。如果Program.cs中没有这些条目,我就无法让Razor在本地工作