相关疑难解决方法(0)

带错误的剃刀语法在不应编译时编译

所以我在运行时使用我的asp.net mvc3应用程序进入错误,当我检查代码时,我看到它上面有一个红线,错误列表没有定义这样的函数,它仍然可以正常编译.错误仅在运行时出现?我正在使用T4MVC,我希望它可以帮助我避免这样的问题!?

这是设计还是我在这里做错了什么?

在此输入图像描述

上面的代码不应该编译,因为那里没有这样的方法!

它在运行时失败:

在此输入图像描述

这种事情发生了很多,不仅仅是未定义的方法,甚至是变量等.

asp.net-mvc compiler-errors t4mvc razor asp.net-mvc-3

19
推荐指数
1
解决办法
7156
查看次数

如何强制编译ASP.NET MVC视图?

我有一个Windows Azure Web角色,其中包含使用ASP.NET MVC的网站.当HTTP请求到达并且首次加载页面时,视图(.aspx或.cshtml)被编译并且需要一些时间,因此第一次提供页面时,它比以后服务同一页面花费更长的时间.

我已启用<MvcBuildViews>(在此答案中描述)强制执行视图的编译时验证,但在部署和运行站点时,这似乎对其编译没有任何影响.

Azure Web角色具有所谓的启动任务,也是一种特殊的OnStart()方法,我可以放置任何热身代码,所以一旦我知道该怎么做,将其添加到角色中不是问题.

有没有办法强制编译所有视图?

.net asp.net iis asp.net-mvc azure

16
推荐指数
2
解决办法
8294
查看次数

MvcBuildViews什么都不做

我正在使用标准指令在设计时编译视图,方法是将其添加到我的vbproj文件中:

<MvcBuildViews>true</MvcBuildViews>
Run Code Online (Sandbox Code Playgroud)

但它似乎没有做任何事情.我在vbhtml文件中添加了编译错误并编译了应用程序. 如果文件在Visual Studio中打开,我会收到编译错误,无论MvcBuildViews是true还是false.如果文件已关闭,即使在完全构建时,我也不会收到错误,即使MvcBuildViews是真的.

这是VS2012,我已将MvcBuildViews条目添加到我的项目文件中的每个PropertyGroup,但仍然没有运气.

我在这做错了什么?

更新:我刚升级到VS2013,我仍然遇到问题.

asp.net-mvc razor

12
推荐指数
1
解决办法
2481
查看次数

MvcBuildViews与Razor Generator

使用.csproj设置MvcBuildViews和使用Razor Generator实现相同的功能有什么区别?

我自己的假设是,MvcBuildViews不会使单元测试可用的视图智能化,但可能存在其他差异?

.net c# asp.net-mvc unit-testing razor

11
推荐指数
1
解决办法
1598
查看次数

如果.cshtml文件中存在剃刀/ C#错误,如何在VS 2013中使构建失败?

我是asp.net mvc的新手.我在.cshtml页面上看到一些剃刀代码中有令人讨厌的小红色下划线,错误列表中有错误,但项目仍在构建中.如果出现这些错误,我能以某种方式使项目构建失败吗?

顺便说一句,如果我重命名剃刀页面中引用的ac#类中的变量,为什么重构工具不能将其范围扩展到cshtml文件?

asp.net-mvc visual-studio-2013

9
推荐指数
1
解决办法
3774
查看次数

如何正确模拟我的controllercontext来测试ViewResult.ExecuteResult()?

我正在尝试创建集成测试,以确保我的视图中没有任何运行时错误.因此,我需要创建一个测试,检查是否ViewResult.ExecuteResult()正常工作,但似乎我遇到了障碍.

我发现这个网站给了我一个起点,我有以下代码:

    [TestMethod]
    public void RegisterResultExecutes()
    {
        //arrange 
        RequestContext requestContext = new RequestContext(new MockHttpContext(), new RouteData());
        AccountController controller = new AccountController
        {
            FormsService = new MockFormsAuthenticationService(),
            MembershipService = new MockMembershipService(),
            Url = new UrlHelper(requestContext)
        };

        var result = controller.Register();
        var sb = new StringBuilder();
        Mock<HttpResponseBase> response = new Mock<HttpResponseBase>();
        response.Setup(x => x.Write(It.IsAny<string>())).Callback<string>(y =>
        {
            sb.Append(y);
        });
        Mock<ControllerContext> controllerContext = new Mock<ControllerContext>();
        controllerContext.Setup(x => x.HttpContext.Response).Returns(response.Object);

        //act 
        result.ExecuteResult(controllerContext.Object);
    }
Run Code Online (Sandbox Code Playgroud)

问题是,当result.ExecuteResult()调用时,我得到以下异常

System.NullReferenceException: Object reference not set to …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc integration-testing asp.net-mvc-3

6
推荐指数
1
解决办法
5051
查看次数

ASP.NET MVC 3.0 - 为什么在视图中强类型模型,如果没有发生静态编译?

我正在积极开发桌面应用程序,本地和网络服务,一些经典的ASP.NET等,所以我习惯于静态编译和静态代码分析.现在我(最终)学习ASP.NET MVC 3.0我发现许多ASP.NET MVC专家和经验丰富的开发人员都建议在ASP.NET MVC 3.0中使用强类型视图(如果适用).

我猜测"强类型"意味着写@model=...在视图代码的顶部.但在这样做时,我只能使IntelliSense工作,没有进行静态代码检查.我可以@modelcshtml的语句中编写我想要的任何内容,它将编译并运行.因此,Model.Anything也编译.事实上,如果我输入@model,我可以动态地使用我想要的具有"兼容"属性和方法的任何模型.

我已经习惯了"强类型",意思是"不会编译",像LINQ到什么,如果你没有得到正确的属性就不会编译.@model除了IntelliSense和运行时错误之外还有其他任何目的,为什么它被称为强类型,如果它实际上不是?

强大的打字,计算机文学中的意义

strong-typing type-safety strongly-typed-view asp.net-mvc-3

6
推荐指数
1
解决办法
767
查看次数

以任何方式配置配置visual studio mvc构建视图释放模式

有没有办法在编译发布模式时配置visual studio来编译视图.似乎它的全部或全部,对于我的项目有很多不同的观点,它只是陷入我关闭的地方,但忘记在推送到QA期间打开它.

asp.net-mvc configuration visual-studio-2010 visual-studio visual-studio-2012

5
推荐指数
1
解决办法
2076
查看次数

如何识别 C# 项目中未使用的类

我有一个包含不同项目的C#大解决方案。它还包含一个带有 Main 静态方法的批处理。我必须从这个方法开始识别和删除所有不能使用的类。哪个是最好的方法?我正在使用 Microsoft Visual Studio Professional 2015

谢谢!

c# visual-studio-2015

4
推荐指数
1
解决办法
6607
查看次数

是否有用于MVC链接的编译时间检查的工具?

我从另一个开发人员继承了一个kludgy和buggy MVC代码库,我正在尝试清理它.有一点非常有用的是在编译时检查与控制器中的操作方法不对应的链接的工具.

例如,您可以编写一个这样的动作方法:

public ActionResult InsertAccount(string Name)
Run Code Online (Sandbox Code Playgroud)

并且可能存在某个看起来像这样的链接:

/SomeController/InsertAccount?Id=Foo
Run Code Online (Sandbox Code Playgroud)

在此过程中的某个地方,参数从"Id"变为"Name",这打破了链接.如果所有内容都在C#中,编译器会捕获它,但由于链接是从字符串生成的,因此无法检测到这样的更改.

是否有任何工具可以做到这一点,或链接构造的指南,以保持名称安全,所以我可以使用编译器来捕捉这种问题?

asp.net-mvc

3
推荐指数
1
解决办法
107
查看次数

任何人都知道在C#MVC.NET中会导致这个神秘编译错误的原因是什么?

它说(注意这是在运行期间我得到这个错误)...我不知道是什么原因造成的,它不会显示问题的源位置:

'/'应用程序中的服务器错误.编译错误说明:在编译服务此请求所需的资源期间发生错误.请查看以下特定错误详细信息并相应地修改源代码.

编译器错误消息:CS1513:}预期

来源错误:

[没有相关的源代码行]

源文件:c:\ WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\App_Web_builder.aspx.ae291f52.nyh6nefp.0.cs Line:402

显示详细的编译器输出:

c:\ windows\system32\inetsrv>"C:\ WINDOWS\Microsoft.NET\Framework64\v3.5\csc.exe"/ t:library/utf8output/R:"C:\ WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assembly\dl3\211759e9\5c40d041_0b75ca01\KellermanEncryptionLibrary.DLL"/ R:"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP. NET文件\ root\0715ad11\99446ce5\assembly\dl3\be498b7b\b02afb41_0b75ca01\BugzScoutDotNet.DLL"/ R:"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assembly\dl3\e7d98667\b6a2d241_0b75ca01\MySql.Data.DLL"/ R:"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assembly\dl3\ecf072d2\d2f0e041_0b75ca01\weborb.DLL"/ R:"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assembly\dl3\b66d72da\86b5e541_0b75ca01\Microsoft. Web.GeneratedImage.DLL"/ R:"C:\WINDOWS\assembly\GAC_MSIL\System.IdentityModel\3.0.0.0__b77a5c561934e089\System .IdentityModel.dll"/ R:"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assembly\dl3\ca088036\6051b86d_ce2dcb01\WashingtonLibrary.DLL"/ R :"C:\ WINDOWS\assembly\GAC_MSIL\System.WorkflowServices\3.5.0.0__31bf3856ad364e35\System.WorkflowServices.dll"/ R:"C:\ WINDOWS\assembly\GAC_MSIL\System.Web.Services\2.0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll"/ R:"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assembly\dl3\0bfc64af\4b9b473c_4349cb01\SoftLayerAPI.DLL "/ R:"C:\WINDOWS\assembly\GAC_MSIL\System.Core\3.5.0.0__b77a5c561934e089\System.Core.dll"/R:"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP .NET Files\root\0715ad11\99446ce5\App_global.asax.c3n8a716.dll"/ R:"C:\WINDOWS\assembly\GAC_MSIL\System.Web.Mobile\2.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll" /R:"C:\WINDOWS\assembly\GAC_MSIL\System.Configuration\2.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll"/ R:"C:\ WINDOWS\Microso ft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assembly\dl3\2b504f93\e634bcb3_238fca01\Elmah.DLL"/ R:"C:\WINDOWS\Microsoft.NET\Framework64\v2 .0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assembly\dl3\5aeba754\3a7aea41_0b75ca01 \nsoftware.InPayPalWeb.DLL"/ R:"C:\WINDOWS\assembly\GAC_MSIL\ABCpdf\7.0.1.9__a7a0b3f5184f2169\ABCpdf .dll"/ R:"C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll"/R:"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assembly\dl3\b1fec446\56c8f841_0b75ca01\Ionic.Zip.DLL"/ R:"C:\WINDOWS\assembly\GAC_MSIL\System.Runtime.Serialization\3.0.0.0__b77a5c561934e089\System.Runtime. Serialization.dll"/ R:"C:\WINDOWS\assembly\GAC_MSIL\System.Xml\2.0.0.0__b77a5c561934e089\System.Xml.dll"/R:"C:\WINDOWS\assembly\GAC_64\System.Web\2.0 .0.0__b03f5f7f11d50a3a\System.Web.dll"/ R:"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assem bly\dl3\85597ee3\40f2c141_0b75ca01 \nsoftware.InPayPal.System.DLL"/ R:"C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll"/ R:"C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0715ad11\99446ce5\assembly\dl3\47e2e59b\64b2c372_357fca01\SessionLibrary.DLL"/ …

asp.net-mvc

1
推荐指数
1
解决办法
3226
查看次数

.aspx页面中的奇怪异常

我有aspx页面,我有类似的东西:

<%
    string image;
    if(cond)
       image = "somestring";
%>

...

<% if (cond) { %>
    <img src="<%= image %>" /> <!-- HereI get CS0165 exception: Use of unassigned local variable 'image' -->
<% } else { %>
    <div> ... </div>
<% } %>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是为什么我得到例外?如果我写string image = "";这个例外消失了.这很奇怪.我猜这个例外与aspx页面的呈现有关.有人可以解释为什么会这样吗?

c# asp.net asp.net-mvc asp.net-mvc-2

0
推荐指数
1
解决办法
113
查看次数