小编Nik*_*nis的帖子

安装ASP.NET MVC 4 Beta后抛出InvalidCastException

在使用ASP.NET MVC 3的计算机上安装ASP.NET MVC 4 Beta后,我收到以下异常.

System.InvalidCastException未由用户代码处理Message = [A] System.Web.WebPages.Razor.Configuration.HostSection无法强制转换为[B] System.Web.WebPages.Razor.Configuration.HostSection.类型A源自'System.Web.WebPages.Razor,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35',位于'默认'位置'C:\ Windows\Microsoft.Net\assembly\GAC_MSIL\System .Web.WebPages.Razor\v4.0_1.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll".\的Windows\Microsoft.Net \组件\ GAC_MSIL \系统:B型从 'System.Web.WebPages.Razor,版本= 2.0.0.0,文化=中性公钥= 31bf3856ad364e35' 在位置上下文 '默认'"C起源.Web.WebPages.Razor\v4.0_2.0.0.0__31bf3856ad364e35\System.Web.WebPages.Razor.dll".来源= System.Web.WebPages.Razor

堆栈跟踪:

位于System.Web.WebPages.Razor.Razor.RazorBuildProvider.GetHostFromConfig()的System.Web.WebPages.Razor.WebRazorHostFactory.CreateHostFromConfig(String virtualPath,String physicalPath)上的System.Web.WebPages.Razor.WebRazorHostFactory.GetRazorSection(String virtualPath)处系统.Web.WebPages.Razor.RazorBuildProvider.CreateHost()位于System.Web.WebPages.Razor.RazorBuildProvider.EnsureGeneratedCode(),System.Web.WebPages.Razor.RazorBuildProvider.get_CodeCompilerType()位于System.Web.Compilation.BuildProvider. System.Web.Compilation上的System.Web.Compilation.Build上的System.Web.Compilation.Build上的System.Web.Compilation.Build上的System.Web.Compilation.BuildProvidersCompiler.PerformBuild()的System.Web.Compilation.Build上的GetCompilerTypeFromBuildProvider(BuildProvider buildProvider)位于System.Web.Compilation上的System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath虚拟路径). BuildManager.GetVPathBuildResultInternal(virtualPath virtualPath,布尔noBuild,布尔allowCrossApp,布尔allowBuildInPrecompile,布尔throwIfNotFound,布尔ensureIsUpToDate)一 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath,HttpContext context,Boolean)中的System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile,Boolean throwIfNotFound,Boolean ensureIsUpToDate) System.Web.Mvc上System.Web.Mvc.BuildManagerViewEngine.FileExists(ControllerContext controllerContext,String virtualPath)上的System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.FileExists(String virtualPath)中的allowCrossApp,Boolean throwIfNotFound System.Web.Mvc.VirtualPathProviderViewEngine.GetPath(ControllerContext controllerContext,String []位置,.VirtualPathProviderViewEngine.GetPathFromGeneralName(ControllerContext controllerContext,List`1位置,String name,String controllerName,String areaName,String cacheKey,String []&searchingLocations), String [] areaLocations,String locationsPropertyName,S 在System.Web.Mvc.ViewEngineCollection上的System.Web.Mvc.VirtualPathProviderViewEngine.FindView(ControllerContext controllerContext,String viewName,String masterName,Boolean useCache)中输入name,String controllerName,String cacheKeyPrefix,Boolean useCache,String []&searchingLocations).位于System.Web.Mvc.ViewEngineCollection.FindView(ControllerContext controllerContext,String viewName,String masterName)的System.Web.Mvc.ViewEngineCollection.Find(Func`2 lookup,Boolean trackSearchedPaths)上的<> c__DisplayClassc.b__b(IViewEngine …

asp.net asp.net-mvc razor asp.net-webpages asp.net-mvc-4

82
推荐指数
4
解决办法
3万
查看次数

哪个更好?每个解决方案或每个项目的单元测试项目?

每个解决方案的单元测试项目或每个项目的单元测试项目是否更好?

根据解决方案,如果您在解决方案中有5个项目,则最终会得到1个单元测试项目,其中包含5个项目中每个项目的测试.

对于每个项目,如果您在解决方案中有5个项目,则最终会有5个单元测试项目.

什么是正确的方法?

我认为这与写单元测试到装配或单独装配中的问题不同?

nunit unit-testing xunit.net

26
推荐指数
2
解决办法
5240
查看次数

如何在xUnit .net的Assert.Throws <T>中处理由Tasks抛出的异常?

通过报告没有抛出异常,以下带有修饰符标记的异步xUnit.net测试失败:lambdaasync

    [Theory, AutoWebData]
    public async Task SearchWithNullQueryThrows(
        SearchService sut,
        CancellationToken dummyToken)
    {
        // Fixture setup
        // Exercise system and verify outcome
        Assert.Throws<ArgumentNullException>(async () =>
            await sut.SearchAsync(null, dummyToken));
        // Teardown
    }
Run Code Online (Sandbox Code Playgroud)

为了确保ArgumentNullException实际抛出一个,我明确地使用了一个try-catch块.它工作,但结果代码不干净(与第一次测试相比):

[Theory, AutoWebData]
public async Task SearchWithNullQueryThrows(
    SearchService sut,
    CancellationToken dummyToken)
{
    // Fixture setup
    var expected = typeof(ArgumentNullException);
    Type actual = null;
    // Exercise system
    try
    {
        await sut.SearchAsync(null, dummyToken);
    }
    catch (ArgumentNullException e)
    {
        actual = e.GetType();
    }
    // Verify …
Run Code Online (Sandbox Code Playgroud)

c# xunit.net async-await c#-5.0

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

Visual Studio在安装ASP.NET MVC 4 Beta后显示"正在更新源代码管理状态"

安装ASP.NET MVC 4 Beta后,Visual Studio在状态区域的左下方显示"正在更新源代码管理状态".

有任何想法吗?安装测试版后似乎很多东西都破了.我想很难 卸载它.. :(

asp.net asp.net-mvc tfs tfs2010 asp.net-mvc-4

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

暂时禁用ReSharper 6上的StyleCop警告

我下载了与ReSharper 6集成的StyleCop 4.6.3,结果非常棒!

但是在某个特定项目中,我想暂时禁用StyleCop警告并稍后再次启用.

有没有办法做到这一点?我似乎无法在ReSharper菜单上找到它(选项等).

resharper stylecop resharper-6.0

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

在XUnit测试中使用AutoData和MemberData属性

我正面临一个有趣的问题.我发现AutoDataAttribute可用于最小化测试的"排列"部分(通过ctor传递的依赖关系).真棒!

例:

public class AutoMoqDataAttribute : AutoDataAttribute
{
    public AutoMoqDataAttribute()
        : base(new Fixture().Customize(new AutoMoqCustomization()))
    { }
}

[Theory, AutoMoqData]
public void Process_ValidContext_CallsK2Workflows(
    [Frozen]Mock<IK2Datasource> k2,
    [Frozen]Mock<IAppConfiguration> config,
    PrBatchApproveBroker sut)
{
   (...)
}
Run Code Online (Sandbox Code Playgroud)

现在我想使用这个伟大的功能,并将自己的数据注入到这个理论中:

[Theory, AutoMoqData, MemberData("Data")]
public void ExtractPayments_EmptyInvoiceNumber_IgnoresRecordsWithEmptyInvoiceNumber(
        [Frozen]Mock<IExcelDatasource> xls,
        SunSystemExcelDatasource sut,
        List<Row> rows,
        int expectedCount)
{
    (...)
}
Run Code Online (Sandbox Code Playgroud)

问题:AutoData属性将为我生成随机数据.我发现的唯一方法是摆脱AutoData属性并使用MemberData.如果我这样做,我需要自己处理对象实例化:))...

有没有办法同时传递我的类一些"硬编码"数据?

谢谢你,Seb

unit-testing xunit autofixture

10
推荐指数
2
解决办法
2468
查看次数

F#中的Func <T,TResult>属性

我目前正与F#的C#代码进行互操作.

在F#中是否可以定义C#中的属性如下所示?

private Func<PropertyInfo, bool> OnIsSatisfiedByProperty { get; set; }

(在F#中它不一定Func<T, TResult>是等同的东西.)

c# f#

7
推荐指数
2
解决办法
279
查看次数

F#中的免费Monad,具有通用输出类型

我正在尝试应用F#中描述的免费monad模式以实现数据访问的乐趣和利益(对于Microsoft Azure表存储)

假设我们有三个数据库表和三个dao的Foo,Bar,Baz:

Foo          Bar          Baz

key | col    key | col    key | col
---------    ---------    ---------
foo |  1     bar |  2         |
Run Code Online (Sandbox Code Playgroud)

我想用key ="foo"选择Foo,用key ="bar"选择Bar,用key ="baz"和col = 3插入一个Baz

Select<Foo> ("foo", fun foo -> Done foo)
  >>= (fun foo -> Select<Bar> ("bar", fun bar -> Done bar)
    >>= (fun bar -> Insert<Baz> ((Baz ("baz", foo.col + bar.col), fun () -> Done ()))))
Run Code Online (Sandbox Code Playgroud)

在解释器功能内

  • Select导致一个函数调用,它接受一个key : string并返回一个obj
  • Insert导致一个函数调用,它接受obj …

monads f# free-monad

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

使用HttpRequestMessage.Properties承载每个请求上下文

在Web API应用程序中,我使用Castle Windsor提供配置了PerWebRequest生命周期的服务,并且一切正常.

但是,当我使用ASP.NET Web API Self Host(Beta)包时,我需要创建一个自定义生命周期,以便根据HTTP请求确定这些服务的范围.

如何使用HttpRequestMessage.Properties携带每个请求上下文?

asp.net dependency-injection castle-windsor asp.net-mvc-4 asp.net-web-api

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

在Jekyll中过滤site.related_posts

我对Jekyll和Ruby很新(但非常兴奋).

没有使用插件,我试图找到一种方法来过滤site.related_posts.

例如,我正在阅读标题Foo和类别的帖子A, B.

该网站共包含3个帖子:

  1. Foo (分类:A,B)
  2. Bar (分类:A,C,D)
  3. Zoo (分类:B,F)

默认情况下,在Jekyll中我们这样做:

{%for site in site.related_posts限制:5%}
{%endfor%}

但是,上面的代码返回所有(3)个帖子.

帖子包含许多类别,因此类别应该是数组.

如何修改代码并仅返回其类别与当前帖子的类别相交的代码?

(在这个例子中,我希望代码只返回FooZoo.)

ruby jekyll

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