在使用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 …
每个解决方案的单元测试项目或每个项目的单元测试项目是否更好?
根据解决方案,如果您在解决方案中有5个项目,则最终会得到1个单元测试项目,其中包含5个项目中每个项目的测试.
对于每个项目,如果您在解决方案中有5个项目,则最终会有5个单元测试项目.
什么是正确的方法?
我认为这与写单元测试到装配或单独装配中的问题不同?
通过报告没有抛出异常,以下带有修饰符标记的异步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) 安装ASP.NET MVC 4 Beta后,Visual Studio在状态区域的左下方显示"正在更新源代码管理状态".
有任何想法吗?安装测试版后似乎很多东西都破了.我想很难 不卸载它.. :(
我下载了与ReSharper 6集成的StyleCop 4.6.3,结果非常棒!
但是在某个特定项目中,我想暂时禁用StyleCop警告并稍后再次启用.
有没有办法做到这一点?我似乎无法在ReSharper菜单上找到它(选项等).
我正面临一个有趣的问题.我发现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
我目前正与F#的C#代码进行互操作.
在F#中是否可以定义C#中的属性如下所示?
private Func<PropertyInfo, bool> OnIsSatisfiedByProperty { get; set; }
(在F#中它不一定Func<T, TResult>是等同的东西.)
我正在尝试应用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并返回一个objInsert导致一个函数调用,它接受obj …在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
我对Jekyll和Ruby很新(但非常兴奋).
没有使用插件,我试图找到一种方法来过滤site.related_posts.
例如,我正在阅读标题Foo和类别的帖子A, B.
该网站共包含3个帖子:
Foo (分类:A,B)Bar (分类:A,C,D)Zoo (分类:B,F)默认情况下,在Jekyll中我们这样做:
{%for site in site.related_posts限制:5%}
{%endfor%}
但是,上面的代码返回所有(3)个帖子.
帖子包含许多类别,因此类别应该是数组.
如何修改代码并仅返回其类别与当前帖子的类别相交的代码?
(在这个例子中,我希望代码只返回Foo和Zoo.)
asp.net ×3
asp.net-mvc ×2
c# ×2
f# ×2
unit-testing ×2
xunit.net ×2
async-await ×1
autofixture ×1
c#-5.0 ×1
free-monad ×1
jekyll ×1
monads ×1
nunit ×1
razor ×1
resharper ×1
ruby ×1
stylecop ×1
tfs ×1
tfs2010 ×1
xunit ×1