C# 站点在VisualStudio中工作,但不在服务器上

C# 站点在VisualStudio中工作,但不在服务器上,c#,asp.net-mvc,visual-studio,model,C#,Asp.net Mvc,Visual Studio,Model,该站点在VisualStudio中工作,但在服务器上中断。获取错误:“System.NullReferenceException:对象引用未设置为对象的实例。” 我已经重新发布了这个项目,但它仍然出错。我已经从服务器上取下了文件,它仍然可以在我的机器上工作,但不能在服务器上工作。会发生什么 <div class="main"> <h2 class="queue_title">Queue</h2> @if (Model.Count > 0) { <

该站点在VisualStudio中工作,但在服务器上中断。获取错误:“System.NullReferenceException:对象引用未设置为对象的实例。” 我已经重新发布了这个项目,但它仍然出错。我已经从服务器上取下了文件,它仍然可以在我的机器上工作,但不能在服务器上工作。会发生什么

<div class="main">
<h2 class="queue_title">Queue</h2>
@if (Model.Count > 0)
{

<table class="inputTableLeft">
    <tr><th>Company</th><th>Category</th><th>Assigned Resource</th></tr>
    <tr>
        <td>
            <select id="CompanySelect">
                <option value="0">All</option>
                @foreach (var company in Model.GroupBy(r => r.Company))
                {
                    <option value="@company.First().Company">@company.First().Company</option>
                }
            </select>
        </td>
        <td>
            <select id="CategorySelect">
                <option value="0">All</option>
                @foreach (var category in Model.GroupBy(r => r.Category))
                {
                    <option value="@category.Key.Id">@category.Key.Name</option>
                }
            </select>
        </td>
        <td>
            <select id="AssignedResource">
                <option value="0">All</option>
                @foreach (var resource in Model.GroupBy(r => r.AssignedUserName))
<!--Breaking here:-->{
                        <option value="@resource.First().AssignedADUser.FullName">@resource.First().AssignedADUser.FullName</option>
                    }
            </select>
        </td>
    </tr>  
</table>
<table class="inputTableRight">
    <tr>
        <th>Incident/Ticket Number</th><th>RCA Number</th>
    </tr>
    <tr>
        <td>
            <input type="text" id="IncidentNumFilter" />
        </td>
        <td>
            <input type="text" id="RCANumFilter" />
        </td>
    </tr>
</table>
<table id="QueueTable">
    <tr>
    @foreach (var grp in Model.GroupBy(r => r.StatusId))
    {
        <th>
            @grp.First().Status.Name
        </th>
    }
    </tr>
    <tr>
    @foreach (var grp in Model.GroupBy(r => r.StatusId))
    {
        <td data-status="@grp.First().StatusId">
        @foreach (RCAModel rca in grp.OrderBy(r => r.CreateTime).OrderByDescending(r => r.Critical))
        {
            <div data-rca="@rca.Id" data-company="@rca.Company" data-assigned="@rca.AssignedADUser.FullName" data-category="@rca.Category.Id" data-incident="@rca.TicketNumber" class="line @(rca.Critical ? "highlight_red" : "")">
                <a href="@Url.Action("EditRCA", new { id = rca.Id })" >
                    @rca.Id : Created - @rca.CreateTime @(rca.Critical ? Html.Label("expression", " - CRITICAL") : Html.Label("", ""))
                </a>
            </div>

        }
        </td>
    }    
    </tr>
</table>
}
else
{
    @: No RCAs in queue   
}
</div>

队列
@如果(Model.Count>0)
{
公司类别已签名资源
全部的
@foreach(Model.GroupBy中的var公司(r=>r.company))
{
@公司第一公司
}
全部的
@foreach(Model.GroupBy中的var类别(r=>r.category))
{
@category.Key.Name
}
全部的
@foreach(Model.GroupBy(r=>r.AssignedUserName)中的var资源)
{
@resource.First().AssignedADUser.FullName
}
事件/票号RRCA号
@foreach(Model.GroupBy中的var grp(r=>r.StatusId))
{
@grp.First().Status.Name
}
@foreach(Model.GroupBy中的var grp(r=>r.StatusId))
{
@foreach(grp.OrderBy(r=>r.CreateTime.OrderByDescending(r=>r.Critical))中的rca模型rca)
{
}
}    
}
其他的
{
@:队列中没有RCA
}

您可能从该链中的某个位置获得空值:

@resource.First().AssignedADUser.FullName
在此代码周围添加一些日志记录和一些空检查,以确定什么是空的

例如:

var firstRes = resource.First();
if (firstRes != null) 
{
     var user = firstRes.AssignedADUser
     if (user != null)
     {
         // Do your normal work.
     }
     else
     {
         // Log a message here
     }
}
else
{
     // Log a message here 
}

这里需要更多信息。您需要输入一些日志或类似的内容来找出错误的原因或发生在哪里。谢谢John。这让我更接近解决方案。我在指定的点以及下一个开始出错的位置应用了一些条件。它不再坏了。现在我只需要找出定义不正确的地方。我一解决它就会更新。再次感谢。