小编Run*_*e G的帖子

使用Visual Studio 2017调试nuget包

在Visual Studio 2015和.NET Core开发中,我们可以通过从源(例如GitHub)检索源代码到本地磁盘来调试nuget包,在global.json中添加下载源代码的源路径并引用nuget包中的我们的项目.这导致对下载的源代码中的项目的引用在当前解决方案中自动显示,从而可以轻松调试(有关此功能的更多信息,请参阅本文).

有没有人知道如何使用Visual Studio 2017做同样的事情?由于global.json不见了,我找不到任何解决方案.

debugging visual-studio .net-core visual-studio-2017

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

处理Transactionscope后,Entity Framework和Transactionscope不会还原隔离级别

我对事务范围和实体框架有点兴奋.

最初,我们希望应用程序中的所有连接在读取数据时使用快照隔离级别,但在某些情况下,我们希望使用read committed或read uncommitted隔离级别读取数据,为此我们将使用事务范围来临时更改隔离级别查询(如此处和不同博客中的几篇帖子所述).

但问题是,当处理事务范围时,隔离仍然保留在连接上,这会引起相当多的问题.

我尝试了所有类型的变化,但结果相同; 隔离级别保留在事务范围之外.

是否有人可以为我解释这种行为或者可以解释我做错了什么?

我已经通过将事务范围封装在一个为我恢复隔离级别的一次性类中找到了解决问题的方法,但是我希望对这种行为有一个很好的解释,我认为这种行为不仅影响我的代码,而且其他人也是.

这是一个说明问题的示例代码:

using (var context = new MyContext())
{
    context.Database.Connection.Open();

    //Sets the connection to default read snapshot
    using (var command = context.Database.Connection.CreateCommand())
    {
        command.CommandText = "SET TRANSACTION ISOLATION LEVEL SNAPSHOT";
        command.ExecuteNonQuery();
    }

    //Executes a DBCC USEROPTIONS to print the current connection information and this shows snapshot
    PrintDBCCoptions(context.Database.Connection);

    //Executes a query
    var result = context.MatchTypes.ToArray();

    //Executes a DBCC USEROPTIONS to print the current connection information and this still shows snapshot
    PrintDBCCoptions(context.Database.Connection);

    using (var …
Run Code Online (Sandbox Code Playgroud)

.net ado.net entity-framework transactions transactionscope

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

执行 DotNetCoreCLI@2 任务时排除项目

我试图在DotNetCoreCLI@2使用build publish命令执行任务时排除项目。我有一些我不想运行发布的测试项目(和其他项目)。我已经尝试根据thisthis 进行文件匹配,但我无法开始工作。该projects属性的文档没有确切说明如何编写排除项,我尝试了下面显示的不同变体。

变体 1

    projects: '**/*.csproj
!**/*.Test.csproj'
Run Code Online (Sandbox Code Playgroud)

变体 2

    projects: '**/*.csproj
               !**/*.Test.csproj'
Run Code Online (Sandbox Code Playgroud)

变体 3

    projects: '**/*.csproj !**/*.Test.csproj'
Run Code Online (Sandbox Code Playgroud)

但是这三个报告 ##[error]Project file(s) matching the specified pattern were not found.

如果我删除排除项,一切都会按预期进行,但它会构建所有项目的发布。

任何人都对如何编写它有建议吗?

azure-devops azure-pipelines-build-task azure-pipelines

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

xUnit.net Runners不适用于Visual Studio Online构建服务器

我试图让xUnit 2.0.0-rc3-build1043在VSO构建代理上工作,但是无法让它工作.它不会失败,但会返回消息

没有找到测试.确保已安装的测试发现者和执行者,平台和框架版本设置适当,然后重试.

我已经为xUnit.net和xUnit.net [Visual Studio Runner]添加了具有依赖包的nuget包,但不知何故,似乎VSO构建代理未检测到运行者.

我也尝试按照这里描述的步骤使用XUnit和Visual Studio Online(修改为xUnit 2.x),但它也不起作用,所以我有点卡住了.

我已经测试了MSTest和nUnit,它们都可以工作,因此构建定义和代理正在按预期工作.

那么,有没有人知道如何配置这个工作?

xunit.net tfsbuild azure-devops

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

在 RxJS 中对 Observable<void> 调用观察者.next()

我正在创建一个使用 RxJS Observable 的模块,其中一些方法正在返回Observable<void>. 我现在已经搜索了很多,但是在完成Observable<void>.

所以问题很简单,应该next为这些 observable 发出回调,还是只是complete回调?

在我看来,只调用 似乎是最干净的complete,但Observable<T>.subscribe()complete作为最后一个参数,这使得用户使用起来更加复杂。

以这个代码示例作为问题的说明:

doSomethingIgnorableUnlessError(): Observable<void> {
  return Observable.create((observer: Observer<void>) => {
    if (executeIgnorable()) {
      // should observer.next(null); be called here?
      observer.next(null); 
      observer.complete();
    } else {
      observer.error('something that shouldn't be ignored occurred');
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

rxjs angular

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