【问题标题】:Could not locate Razor Host Factory type (ASP.NET WEB MVC )找不到 Razor 主机工厂类型 (ASP.NET WEB MVC)
【发布时间】:2018-09-19 15:30:33
【问题描述】:

我已经尝试解决这个剃刀形状错误一周了,但我似乎无法修复它。

Microsoft.AspNet.MVC(版本 5.2.4)

M.AspNet.Razor(版本 3.2.4)

M.AspNet.WebPages(版本 3.2.4)

M.Web.Infrastructure(版本 1.0.0.0)

Newtonesoft.Json(版本 11.0.2)

System.Net.Http(版本 4.3.3)

Packages Screenshot

HomeController.cs(代码)

public async Task<ActionResult> Index()
    {
        PrimeCommand PCommand = new PrimeCommand();

        var responseString = await PCommand.Login("user", "pass", "api");
        ViewBag.SessionId = responseString;

        return View();
    }

登录()函数:

public async Task<string> Login(string username, string password, string apikey)
    {
        try
        {
            using (var httpClientHandler = new HttpClientHandler())
            {

                ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; // PJDS code
                using (var client = new HttpClient(httpClientHandler))
                {

                    var newLogin = new LoginObject();

                    newLogin.ApplicationKey = apikey;
                    newLogin.UserName = username;
                    newLogin.Password = password;

                    var contentObject = JsonConvert.SerializeObject(newLogin);
                    var content = new StringContent(contentObject);

                    var response = await client.PostAsync(Api.base_url + "/Login", content);
                    var responseString = await response.Content.ReadAsStringAsync();
                    dynamic responseObject = JsonConvert.DeserializeObject(responseString);

                    var sessionID = responseObject.result.SessionID;

                    var searchObj = new SimpleSearchObject
                    {
                        SessionID = sessionID
                    };

                    return sessionID;
                }
            }
        }
        catch (Exception e)
        {
            Debug.WriteLine("error: login - " + e.Message);
            return null;
        }
    }

Index.cshtml

<form style="height: auto;width:300px;" action="action_page.php">
<div class="container">
        @using (Html.BeginForm())
{

   <b>@Html.LabelFor(x => x.UserName)</b>
    @Html.TextBoxFor(x => x.UserName)
    <br />

    <b>@Html.LabelFor(x => x.Password)</b>
    @Html.TextBoxFor(x => x.Password)

    <button type="submit" value="Index" name="action:Index">Login</button>


        <label>
            <input type="checkbox" checked="checked" name="remember"> Remember me
    </label>
}

    <span class="psw">Forgot <a href="#">password?</a></span>
</div>

错误

System.InvalidOperationException

找不到 Razor 主机工厂类型: System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,版本=5.2.0.0,文化=中性,PublicKeyToken=************************

描述:HTTP 500.Error processing request.

详细信息:非网络异常。异常来源(应用程序或对象的名称):System.Web.WebPages.Razor。

【问题讨论】:

  • 说真的,有人投了反对票,甚至没有发表评论?
  • 没有爱,宝贝。 #WereIsTheLove?

标签: c# asp.net asp.net-mvc web


【解决方案1】:

我只会回答我的问题,问题出在我的 Web.config 文件中,而不是 <....system.web.mvc version="5.2.0.0...">

【讨论】:

  • 嗨,伙计们/女孩们,我对此还有另一个问题,我认为我的 Login() 函数有问题,因为每次我评论登录函数时,我的程序都可以工作,请帮助,谢谢。我有这个问题: System.InvalidOperationException The view 'Index' or its master was not found or no view engine support the searched locations.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-08
  • 2021-01-04
  • 2023-02-04
  • 1970-01-01
  • 1970-01-01
  • 2010-09-08
  • 2021-04-09
相关资源
最近更新 更多