在SourceTree中,当我推送分支时,它默认推送每个分支.(即选中全选).
有没有办法禁用此行为,只推送当前分支?

我正在创建一个Visual Studio项目模板并将其捆绑在VS扩展中.我需要从模板创建的项目来引用~20个NuGet包.
是否有可能从nuget.org解析引用而不必包含VSIX中的所有引用?
Visual Studio模板上的NuGet文档提供了有关如何在VSIX中添加软件包的说明,但它要求将文件本地存储在磁盘上,并且.nupkg是vsix中的软件包:
将您的nupkg文件作为自定义扩展内容添加到source.extension.vsixmanifest文件中.如果您使用的是2.0架构,它应如下所示:
Run Code Online (Sandbox Code Playgroud)<Asset Type="Moq.4.0.10827.nupkg" d:Source="File" Path="Packages\Moq.4.0.10827.nupkg" d:VsixSubPath="Packages" />
问题已经问过
我知道有一个类似的问题(创建一个已经包含Nuget Package Reference的Visual Studio项目模板?)并回答(不可能),但是2011年就提出了这个问题.
5年后,还不可能吗?
c# visual-studio nuget visual-studio-extensions nuget-package-restore
我试图了解这段代码:
[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);但同样的,为什么是这个必要吗?
我知道有一堆类似于这个的问题,但我见过的没有一个似乎解释了为什么会发生这种情况:
await正确地包含了关键字AFAIKTask.FromResult但不是为什么await new Task(() => {})不起作用使用.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) 使用 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) 我正在开发一个实时流媒体应用程序.两个部分包括流媒体.我使用捕获卡捕获一些实时源并需要实时流式传输.并且还需要流式传输本地视频文件.
为了实时流式传输本地视频文件,我使用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) 我正在努力模拟与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)
但是,虽然该代码编译得很好,但在运行测试时出现此错误:

我也试过模拟多路复用器本身,并将其提供给我的模拟缓存,但我遇到了多路复用器类被密封的事实:
_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)
...但是会导致此错误:

最终我想在我的测试中控制该属性是真还是假,所以有没有正确的方法来模拟这样的东西?
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
有谁知道如何修复打开.cs文件时 Visual Studio 2022 中的“尝试执行未经授权的操作”错误?
我昨天做了一个 VS 解决方案。今天打开笔记本电脑,重新启动,打开解决方案,并通过解决方案资源管理器打开一个 cs 文件,我收到一个错误和一个空白选项卡:
还注意到,从 Windows 10 跳转列表中打开解决方案将导致显示 VS 2022 徽标,然后进程将无声地崩溃。
Windows 10:21H1
Visual Studio 2022 v17.1.5
第 3 方扩展:AWS Toolkit、ReSharper、T4Editor、Git Diff Margin、ReSharper
c# ×7
.net ×2
.net-core ×1
angular ×1
asp.net-core ×1
async-await ×1
asynchronous ×1
azure-devops ×1
ffmpeg ×1
git ×1
moq ×1
nuget ×1
task ×1
typescript ×1
unit-testing ×1
video ×1