Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Razor出现CSharp编译器运行时错误_C#_Razor_Asp.net Core_Asp.net Core Mvc - Fatal编程技术网

C# ASP.NET Razor出现CSharp编译器运行时错误

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.

我有一个新的ASP.NET服务

在我本地的机器上一切都很好。但是,在群集上,每当我尝试导航到页面时,都会出现以下错误:

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在本地工作