小编Phi*_*tle的帖子

只在SourceTree中推送当前分支

在SourceTree中,当我推送分支时,它默认推送每个分支.(即选中全选).

有没有办法禁用此行为,只推送当前分支?

截图

git atlassian-sourcetree

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

创建一个Visual Studio项目模板,从在线提要中提取NuGet引用

我正在创建一个Visual Studio项目模板并将其捆绑在VS扩展中.我需要从模板创建的项目来引用~20个NuGet包.

是否有可能从nuget.org解析引用而不必包含VSIX中的所有引用?

Visual Studio模板上NuGet文档提供了有关如何在VSIX中添加软件包的说明,但它要求将文件本地存储在磁盘上,并且.nupkg是vsix中的软件包:

将您的nupkg文件作为自定义扩展内容添加到source.extension.vsixmanifest文件中.如果您使用的是2.0架构,它应如下所示:

<Asset Type="Moq.4.0.10827.nupkg" d:Source="File" 
    Path="Packages\Moq.4.0.10827.nupkg" d:VsixSubPath="Packages" />
Run Code Online (Sandbox Code Playgroud)

问题已经问过

我知道有一个类似的问题(创建一个已经包含Nuget Package Reference的Visual Studio项目模板?)并回答(不可能),但是2011年就提出了这个问题.

5年后,还不可能吗?

c# visual-studio nuget visual-studio-extensions nuget-package-restore

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

等待空任务永远旋转(等待新任务(()=> {}))

我试图了解这段代码:

 [TestFixture]
 public class ExampleTest
 {
    [Test]
    public void Example()
    {
        AwaitEmptyTask().Wait();
    }

    public async Task AwaitEmptyTask()
    {
        await new Task(() => { });
    }
 }
Run Code Online (Sandbox Code Playgroud)

该方法Example永远不会结束并永久阻止. 为什么??

修复(从返回在异步单元测试方法成株任务)是取代await new Task( () => {})return Task.FromResult<object>(null);但同样的,为什么是这个必要吗?

我知道有一堆类似于这个的问题,但我见过的没有一个似乎解释了为什么会发生这种情况:

.net c# asynchronous task async-await

10
推荐指数
3
解决办法
4814
查看次数

.NET Core使用Configuration绑定到带Array的Options

使用.NET Core Microsoft.Extensions.Configuration 是否可以将Configuration绑定到包含数组的对象?

ConfigurationBinder有一个方法BindArray,所以我认为它会工作.

但是当我尝试它时,我得到一个例外:

System.NotSupportedException: ArrayConverter cannot convert from System.String.

这是我精简的代码:

public class Test
{
   private class ExampleOption
   { 
      public int[] Array {get;set;}
   }

   [Test]
   public void CanBindArray()
   {
       // ARRANGE
       var config =
            new ConfigurationBuilder()
            .AddInMemoryCollection(new List<KeyValuePair<string, string>>
            {
                new KeyValuePair<string, string>("Array", "[1,2,3]")
            })
            .Build();

        var exampleOption= new ExampleOption();

        // ACT
        config.Bind(complexOptions); // throws exception

       // ASSERT
       exampleOption.ShouldContain(1);
   }
}
Run Code Online (Sandbox Code Playgroud)

c# configuration .net-core asp.net-core

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

VS Code 转到工作区中的符号 - 排除外部文件

使用 VSCode 有没有办法在工作区工具中配置“转到符号”工具(默认ctrl+ T)以排除外部目录?

在我的 Angular 工作区中,VS Code 目前在node_modules程序文件和其他我不想搜索的目录中列出符号。

在此处输入图片说明

在互联网上研究我的各种帖子建议尝试以下设置,但设置这些不会影响转到符号。

.vscode\settings.json

    "files.exclude": {
        "**/node_modules": true,
        "**/obj": true,
        "*.d.ts": true
    },
    "search.exclude": {
        "**/node_modules": true,
        "**/dist": true,
        "*.d.ts": true
    },
Run Code Online (Sandbox Code Playgroud)

\jsconfig.json

   "compilerOptions": {
        "target": "ES6",
        "lib": []
    },
    "exclude": [
        "node_modules",
        "**/node_modules/*"
    ]
Run Code Online (Sandbox Code Playgroud)

typescript visual-studio-code vscode-settings angular

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

C#中的实时视频流

我正在开发一个实时流媒体应用程序.两个部分包括流媒体.我使用捕获卡捕获一些实时源并需要实时流式传输.并且还需要流式传输本地视频文件.

为了实时流式传输本地视频文件,我使用emgu cv将视频帧捕获为位图.为此,我创建了位图列表,并使用一个线程将捕获的位图保存到此列表中.我还在图片框中显示这些帧.位图列表可以存储1秒的视频.如果帧速率为30,则将存储30个视频帧.填写此列表后,我启动另一个线程来编码1秒块视频.

出于编码目的,我使用名为nreco的ffmpeg包装器.我将视频帧写入ffmpeg并启动ffmpeg进行编码.停止该任务后,我可以将编码数据作为字节数组.

然后我通过LAN使用UDP协议发送数据.

这很好用.但我无法实现流畅的流媒体.当我通过VLC播放器接收到流时,数据包之间有一些毫秒的延迟,我也注意到帧丢失了.

private Capture _capture = null;
Image<Bgr, Byte> frame;

// Here I capture the frames and store them in a list
private void ProcessFrame(object sender, EventArgs arg)
{
     frame = _capture.QueryFrame();
     frameBmp = new Bitmap((int)frameWidth, (int)frameHeight, PixelFormat.Format24bppRgb);
     frameBmp = frame.ToBitmap(); 


 twoSecondVideoBitmapFramesForEncode.Add(frameBmp);
                        ////}
     if (twoSecondVideoBitmapFramesForEncode.Count == (int)FrameRate)
     {
         isInitiate = false;
         thread = new Thread(new ThreadStart(encodeTwoSecondVideo));
         thread.IsBackground = true;
         thread.Start();
     }  
 }

public void encodeTwoSecondVideo()
{
    List<Bitmap> copyOfTwoSecondVideo = new List<Bitmap>();
    copyOfTwoSecondVideo = twoSecondVideoBitmapFramesForEncode.ToList();
    twoSecondVideoBitmapFramesForEncode.Clear();

    int …
Run Code Online (Sandbox Code Playgroud)

c# video ffmpeg

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

如何使用Moq模拟StackExchange.Redis ConnectionMultiplexer类?

我正在努力模拟与StackExchange.Redis库相关的行为,但无法弄清楚如何正确模拟它使用的密封类.一个具体的例子是我的调用代码我正在做这样的事情:

    var cachable = command as IRedisCacheable;

    if (_cache.Multiplexer.IsConnected == false)
    {
        _logger.Debug("Not using the cache because the connection is not available");

        cacheAvailable = false;
    }
    else if (cachable == null)
    {
Run Code Online (Sandbox Code Playgroud)

其中的关键行是_cache.Multiplexer.IsConnected我正在检查以确保在使用缓存之前我有一个有效的连接.所以在我的测试中,我想用这样的方式模拟这种行为:

    _mockCache = new Mock<IDatabase>();
    _mockCache.Setup(cache => cache.Multiplexer.IsConnected).Returns(false);
Run Code Online (Sandbox Code Playgroud)

但是,虽然该代码编译得很好,但在运行测试时出现此错误:

测试中抛出了Moq异常

我也试过模拟多路复用器本身,并将其提供给我的模拟缓存,但我遇到了多路复用器类被密封的事实:

    _mockCache = new Mock<IDatabase>();
    var mockMultiplexer = new Mock<ConnectionMultiplexer>();
    mockMultiplexer.Setup(c => c.IsConnected).Returns(false);
    _mockCache.Setup(cache => cache.Multiplexer).Returns(mockMultiplexer.Object);
Run Code Online (Sandbox Code Playgroud)

...但是会导致此错误:

尝试模拟密封类时抛出的错误

最终我想在我的测试中控制该属性是真还是假,所以有没有正确的方法来模拟这样的东西?

.net c# unit-testing moq stackexchange.redis

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

Visual Studio协议处理程序 - 打开文件

Visual Studio是否具有包含打开特定文件的命令的协议处理程序?

他们有一个用于Git克隆,如在宣布Visual Studio的GitHub扩展中所述:

Visual Studio中的Open按钮[在GitHub中]调用一个名为"git-client://"的新协议处理程序.我们与GitHub一起设计了这个新的通用协议,允许网站将标准Git操作传递给任何IDE

基本上我想要做的是在这个GitHub问题中描述:

在此输入图像描述

当我单击Button时,Visual Studio应该打开特定文件(最好加载正确的解决方案).

如果直接使用协议处理程序无法做到这一点,是否可以将其作为具有Web视图的Visual Studio Extensions实现,以实现相同的目的(即允许从Web页面打开文件)?

c# protocol-handler visual-studio visual-studio-extensions visual-studio-2015

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

Azure DevOps 禁用 Task Insights 任务失败弹出

Azure DevOps 在构建管道内部导航时添加了一个弹出窗口,告诉您过去此步骤失败的频率。

有没有办法禁用这些弹出窗口? 每次它们弹出时我都可以关闭它们,但它变得具有破坏性。

烦人的弹窗

azure-devops

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

Visual Studio 2022 打开 .cs 文件时出现未经授权的操作

有谁知道如何修复打开.cs文件时 Visual Studio 2022 中的“尝试执行未经授权的操作”错误?

我昨天做了一个 VS 解决方案。今天打开笔记本电脑,重新启动,打开解决方案,并通过解决方案资源管理器打开一个 cs 文件,我收到一个错误和一个空白选项卡:

在此输入图像描述

还注意到,从 Windows 10 跳转列表中打开解决方案将导致显示 VS 2022 徽标,然后进程将无声地崩溃。


到目前为止我尝试过的:

  • 将 Visual Studio 升级到 v17.1.5
  • 升级所有扩展
  • 确认有足够的磁盘空间、内存。

环境

Windows 10:21H1
Visual Studio 2022 v17.1.5
第 3 方扩展:AWS Toolkit、ReSharper、T4Editor、Git Diff Margin、ReSharper

c# visual-studio visual-studio-2022

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