小编Man*_*son的帖子

什么是AutoUnify以及为什么它导致TFS 2015中的工作测试失败

我们正在运行自己的NuGet服务器来打包我们自己的项目.在这种情况下,我们正在重用一些测试构建器.单元测试在本地运行时通过,但是通过TFS 2015,一些失败并出现以下错误.

我已经完成了在这些项目/包中查找文件以找到2.6.4依赖项而没有成功.

什么是AutoUnify,AutoUnify配置在哪里?是否禁用AutoUnify正确解决此问题?

 Unified Dependency "nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77".
         Using this version instead of original version "2.6.3.13283" in "D:\Agents\Agent1\c81e9061\eServices\.NugetLocalCache\EnterpriseApplications.Framework.Testing.1.0.0.0\lib\net45\EnterpriseApplications.Framework.Testing.dll" because AutoUnify is 'true'.
         Using this version instead of original version "2.6.3.13283" in "D:\Agents\Agent1\c81e9061\eServices\.NugetLocalCache\EnterpriseApplications.Framework.Testing.Mvc.1.0.0.0\lib\net451\EnterpriseApplications.Framework.Testing.Mvc.dll" because AutoUnify is 'true'.
         Could not resolve this reference. Could not locate the assembly "nunit.framework, Version=2.6.4.14350, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
Run Code Online (Sandbox Code Playgroud)

更新:AutoUnify的一个很好的解释是通过MSDN,但这并没有解释如何禁用

更新:由于构建定义使用的NUnit Test适配器版本,这些特定测试仅通过TFS Build失败.让这个问题保持开放,因为听到AutoUnify配置的位置很有意思.

tfs unit-testing tfsbuild nuget

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

正则表达式检测IE 5,6,7和8,但没有其他人

我把这个正则表达式放在一起,它应该只返回一个匹配,其中用户代理字符串是IE 5,6,7和8.显然,这里的主要目标之一是避免混淆IE11用户代理字符串..

这个正则表达式是否有效(我错过了什么)?

.*MSIE [5-8]\b((?!Trident/4.0)).*
Run Code Online (Sandbox Code Playgroud)

UPDATE

下面匹配5,6,7和8的所有用户代理字符串.9,10中没有匹配.但它确实与IE11匹配,使用Request.UserAgent从.Net返回

'Mozilla/4.0(兼容; MSIE 7.0; Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729 )"

^.*MSIE [5-8](?:\.[0-9]+)?(?!.*Trident\/6\.0\)).*$
Run Code Online (Sandbox Code Playgroud)

regex browser-detection

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

C#/ Javascript会话存储

如果我通过javacrript添加sessionStorage项,是否可以使用c#获取该键/值服务器端.

例如:

使用Javascript

sessionStorage.setItem("myItem");
Run Code Online (Sandbox Code Playgroud)

通过在浏览器控制台中调用'sessionStorage.length'来确认其存储.返回1.

C#

Session.Keys.Count; // returns 0
Run Code Online (Sandbox Code Playgroud)

javascript c# session-variables session-storage

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

使用内部 JSON 构造函数在 AutoFixture 4.8.0 中创建公共类型,并带有许多构造函数参数

与 AutoFixture 4.8.0 一样,是否有更好的替代方法来使用Fixture.Register注册函数来创建仅公开internal构造函数的类型?

在上下文中:

我正在开发一个 .net 标准类库来构建供内部使用的 API。我们不想公开公共构造函数,因此这些模型的所有构造函数都是internal. 属性是另外的public readonly。这些类将通过 Json 反序列化进行实例化,在这个特定的库中,有一个需要考虑超过 20 个属性的模型。作为奖励,我们希望尽可能使用 [AutoDataAttribute]。

IE。是否有其他方法可以使用 AutoFixture 提供具有 20 多个参数的非类型和复杂类型(也是内部)混合的内部 json 构造函数?

[TestFixture]
public sealed class Tests
{
    private Fixture _fixture;

    [OneTimeSetUp]
    public void OneTimeSetup()
    {
        _fixture = new Fixture();

        _fixture.Register(() => new Vehicle(_fixture.Create<string>(), _fixture.Create<int>()));

        _fixture.Register(
            () => new Driver(_fixture.Create<string>(), _fixture.Create<int>(), _fixture.Create<Vehicle>()));
    }

    [Test]
    public void CanCreateDriverWithVehicle()
    {
        Func<Driver> func = () => _fixture.Create<Driver>();
        func.Should().NotThrow(); // Green
    }
}

[PublicAPI]
public …
Run Code Online (Sandbox Code Playgroud)

c# autofixture

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