小编Hol*_*olf的帖子

在Visual Studio中构建时,有条件地使用32/64位引用

我有一个以32/64位构建的项目,并具有相应的32/64位依赖项.我希望能够切换配置并使用正确的引用,但我不知道如何告诉Visual Studio使用适当的体系结构依赖.

也许我正在以错误的方式解决这个问题,但我希望能够在配置下拉列表中切换x86和x64,并使引用的DLL成为正确的位数.

.net 64-bit 32bit-64bit visual-studio

122
推荐指数
4
解决办法
6万
查看次数

为什么$仅在'angular.mock.module'函数中提供,$ q仅在'angular.mock.inject'函数中可用?

我正在嘲笑AngularJS单元测试的服务.我正在使用该$provide服务用被模拟的服务替换"真正的"服务(这是一个可用的plunker脚本):

describe('My Controller', function () {

    var $scope;
    var $provide;

    beforeEach(angular.mock.module('myApp'));

    beforeEach(angular.mock.module(function (_$provide_) {

        $provide = _$provide_;

    }));

    beforeEach(angular.mock.inject(function($rootScope, $controller, $q){

        var mockMyService = {
            getAll : function() {
                var deferred = $q.defer();
                deferred.resolve([
            { itemText: "Foo" },
            { itemText: "Bar" }
                ]);

                return deferred.promise;
            }
        };

        $provide.value('myService', mockMyService);

        $scope = $rootScope.$new();

        $controller('MyCtrl', { $scope: $scope });

        $rootScope.$apply();

    }));

    it('Has two items defined', function () {
        expect($scope.items.length).toEqual(2);
    });
});
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,我不喜欢这样一个事实,即我只使用一个angular.mock.module函数来提供对$provide服务的引用,然后在 …

unit-testing dependency-injection jasmine angularjs

39
推荐指数
2
解决办法
2万
查看次数

阻止ReSharper将JavaScript函数参数放到新行上

如何阻止ReSharper格式化:

define(['Spec'], function (Spec) {

});
Run Code Online (Sandbox Code Playgroud)

进入这个:

define(['Spec'],
    function(Spec) {

    });
Run Code Online (Sandbox Code Playgroud)

我已经尝试了各种设置组合,但尚未找到合适的设置.

javascript resharper formatting resharper-9.0

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

Visual Studio中参考程序集和公共程序集之间的区别是什么

我一直在研究Visual Studio 2013中Web性能测试插件的一些问题.当添加对必要dll的引用时(例如Microsoft.VisualStudio.QualityTools.WebTestFramework.dll),我注意到"Add References"窗口中有相同dll的多个条目.在我的系统上,我有五个选择WebTestFramework.

我看到的其中一些来自早期版本的Visual Studio,它们也安装在我的机器上.但是,我看到有些是重复的,例如:

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ReferenceAssemblies\WebTestFramework.dll

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies\WebTestFramework.dll

我比较了这两个文件的哈希值,它们是相同的.那么,为什么它们会在我的VS 2013(v12.0)安装中出现两次?为什么同时存在'ReferenceAssemblies'和'PublicAssemblies'文件夹?

dll visual-studio visual-studio-2013

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

是否线程安全检查?

我有一些代码,在新线程上抛出异常,我需要在主线程上确认和处理.为了实现这一点,我通过使用保存抛出异常的字段来共享线程之间的状态.

我的问题是在检查null时是否需要使用锁,因为我在以下代码示例中进行操作?

public class MyClass
{
    readonly object _exceptionLock = new object();
    Exception _exception;

    public MyClass()
    {
        Task.Run(() =>
        {
            while (CheckIsExceptionNull())
            {
                // This conditional will return true if 'something has gone wrong'.
                if(CheckIfMyCodeHasGoneWrong())
                {
                    lock(_exceptionLock)
                    {
                        _exception = new GoneWrongException();
                    }
                }
            }
        });
    }

    bool CheckIsExceptionNull() // Is this method actually necessary?
    {
        lock (_exceptionLock)
        {
            return _exception == null;
        }
    }

    // This method gets fired periodically on the Main Thread.
    void RethrowExceptionsOnMainThread()
    { …
Run Code Online (Sandbox Code Playgroud)

c# null exception thread-safety

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

无法访问/查找TeamCity localhost页面

我对TeamCity有一个反复出现的问题.在我的公司,我已经安装了TeamCity三次,并成功将它们连接到某种SVN-repo.

但过了一段时间我总是得到同样的错误,无法访问localhost,即TeamCity的登录页面(我启动浏览器,它找不到localhost).

我试图找到一个解决方案,但没有成功,我也试图让TeamCity停止工作(找出造成问题的原因),但也没有成功.

棘手的部分是,我不知道它为什么会发生,我不知道如何解决它.它突然发生了.日志没有告诉我任何事情,所有服务/端口/等都正常工作.它只是突然失去了它的起始连接.

我在Win 2008 Server R2上运行TeamCity.那么,有没有人有线索或一些想法可以帮助我解决这个问题?

teamcity tomcat localhost windows-server-2008

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

使用Git SVN和具有多个用户的远程Git存储库的工作流程

问题摘要:

当我写出来时,我开始意识到有很多细节,所以这里是标题:

  • 对于在工作环境中使用SVN和Git SVN的许多用户的团队而言,什么是良好的工作流程,但是也希望使用远程Git Repo(BitBucket)从工作环境外部访问相同的代码,共享更改到这个代码在办公室之外彼此之间,然后在回到办公室后安全地重新回到SVN?其他人继续在办公室内使用Git SVN吗?

在写这篇文章时,我也意识到我要求做的事情真的很复杂,可能根本就不可能......

细节:

我和使用SVN存储库的人员一起工作.我们中的许多人已经开始使用Git SVN,现在正在收获本地使用Git的好处,随意分支,必要时合并到我们的本地Masters,然后再回到SVN.这很好用(尽管我意识到我们并没有从纯粹的Git解决方案中获得所有好处).

我最近开始使用私有BitBucket Git存储库作为Master的远程控制器,因此我可以轻松地将代码传输到其他地方或从其他地方传输代码.工作流程如下:

  • 在工作中,来自SVN Trunk的Rebase => Local Work Master.
  • 从Local Work Master推送=> BitBucket Master.
  • 在家里,从BitBucket Master => Local Home Master拉出来.
  • 在家编码,分支,合并,享受git.
  • 从当地家庭分支合并=>本地家庭主人.
  • 从Local Home Master推送=> BitBucket Master.
  • 在工作中,从BitBucket Master拉到Local Work Master.
  • 重新启动SVN Trunk.
  • 向SVN致敬.

好的,有几个步骤,但它适合我.但是,我的一些同事想要开始做同样的事情.更重要的是,我们希望能够在没有阻碍SVN的情况下使用我们的BitBucket Git仓库.

我们正在考虑的各种事情的一些例子:

  • 如果我们其中一个人不在办公室,他们希望能够获得最新的代码.在工作中,我可以从SVN重新定位,然后推送到BitBucket,将最新的代码提供给我的同事.
  • 如果我们两个人想要分享一些变化(假设我们中的一方或两方都不在办公室),我们可以在BitBucket上为此创建一个功能分支,每次推送都会根据需要进行推送.
  • 当我们对它感到满意时,我们中的一个人可以将它合并到我们的Local Home Master中,然后推送到BitBucket Master,准备好在我们重新开始工作时拉动.
  • 回到工作岗位后,我们中的一个人可以将Master从BitBucket拉到我们的本地工作大师,然后像往常一样对SVN进行反驳并提交.

但是,假设我们中的一个人已经这样做了,那么团队的其他成员会发生什么呢?如果他们从BitBucket Master中撤出,他们将获得更改.但是,如果他们退出SVN,他们也会得到改变.

如果两者同时会发生什么?这只是一个可能的障碍.我可以想到其他一些步骤,这些都可能陷入真正的混乱.

不幸的是,我们的持续集成工作流程与SVN相关,其他业务也是如此.因此,我们实际上没有选择完全转移到Git.我们也无法从公司外部访问我们的SVN存储库.

svn git workflow git-svn multiple-users

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

我怎样才能获得与ServiceStack FallbackRoute属性合作,支持HTML5 pushState的的url AngularJS?

我正在构建一个客户端/服务器解决方案,使用AngularJS单页面应用程序作为客户端组件,并使用自主机ServiceStack RESTful API作为服务器组件.单个Visual Studio控制台应用程序项目包含AngularJS组件的HTML和JavaScript文件,以及用于引导ServiceStack AppHost的C#类(我已将接口和服务职责分配给单独的Visual Studio项目).

我已将所有HTML和JavaScript文件设置为"构建操作"为"无",并将"复制到输出目录"设置为"如果更新则复制".

只要我准备好在我的网站网址中加上"#",一切都很顺利.我想通过使用HTML5 pushstate URL来消除这种情况.

实际上,这意味着每当请求不存在的路由时,我需要说服ServiceStack提供我的默认单页面应用程序HTML shell页面.现在ServiceStack中有一个FallbackRoute属性,似乎已经为此目的添加了.

但是,我不确定如何使用它.我发现人们在这里, 这里这里都会提出类似的问题.但是所给出的答案都是在新的FallbackRoute属性到来之前.

本质上,我正在寻找一个简单但完整的示例,说明如何使用FallbackRoute属性来确保对不存在的路由的任何请求被重定向到单个静态HTML页面.

url-routing servicestack angularjs single-page-application

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

我可以在 XUnit 构造函数中自定义 Fixture 以与 Theory 和 AutoData 一起使用吗?

这是我正在尝试做的事情:

public class MyTests
{
    private IFixture _fixture;

    public MyTests()
    {
        _fixture = new Fixture();
        _fixture.Customize<Thing>(x => x.With(y => y.UserId, 1));
    }

    [Theory, AutoData]
    public void GetThingsByUserId_ShouldReturnThings(IEnumerable<Thing> things)
    {
        things.First().UserId.Should().Be(1);
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望 IEnumerable<Thing> things传递到测试中的参数的 a 均为UserId1,但事实并非如此。

我怎样才能做到这一点?

.net c# xunit autofixture xunit2

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

用于检查'if'语句中的多个条件的语法

这是情况:

if count items is either 0,1,5,7,8,9,10 then string = "string one"
if count items is either 2,3,4 then string = "string two"
Run Code Online (Sandbox Code Playgroud)

我试过(在cs razor视图内)

@if (@item.TotalImages == 1 || 5 || 7 || 8 || 9 || 10)
{
   string mystring = "string one"
}
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误

运营商|| 不能应用于bool或int类型的操作数

c#

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

即使 Redis 不可用,也能在启动时建立“连接重试”行为

node-redis一旦一切都启动并运行,它具有处理任何 Redis 断开连接的出色功能。如果 Redis 实例变得不可用,可以使用适当的retry_strategy方式设置客户端尝试重新连接,直到 Redis 再次可用。

是否有可能让客户端在启动时进入这个状态,即使 Redis 宕机了?

我的场景是这样的:我使用 Redis 作为主要数据存储,并带有一个不基于 Redis 的备用辅助数据存储。当我的应用程序启动时,如果 Redis 不可用,则尝试检索数据将改用辅助数据存储。

但是,当 Redis 可用时,我希望我的应用程序开始使用 Redis 主数据存储。由于 Redis 连接在启动时未成功retry_strategy,因此将为先前建立的连接处理此问题的 不起作用。

我可以编写代码来重试初始 Redis 连接,直到它成功,但让我震惊的是,开箱即用的功能已经非常接近我需要的功能,如果我能说服它从即使 Redis 已关闭,也能启动。

redis node.js node-redis

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

在ContentEditable中,如何获得插入符号前面的元素的引用?

我正在尝试编写一个函数,该函数将keyup在contentEditable div中为插入符号前面的元素提供引用.

如果插入符号位于文本节点中,则该函数应返回null.如果插入符号位于contentEditable的开头,则该函数应返回null.

但是如果插入符号位于文本节点的开头,并且此文本节点前面紧跟一个元素(如Span),则该函数应返回对此元素的引用.

并且,如果插入符号位于两个Html元素之间(例如,在两个Spans之间),则它应该返回对插入符号之前的元素的引用,即两个元素中的第一个.

如果有两个或多个文本节点紧跟在一起,则应将它们视为单个文本节点.

我已经开始拼凑一些东西了.我正在考虑使用范围偏移来计算我到文本节点的距离,但感觉过于复杂.我不禁想到有一些我没想到的明显的东西.

element range caret contenteditable textnode

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