小编Luk*_*ský的帖子

C#7.0是否适用于.NET 4.5?

我在Visual Studio 2017 RC中创建了一个项目,以检查我是否可以在.NET Framework 4.5项目中使用新的C#7.0语言功能.在我看来,在引用System.ValueTupleNuGet之后,新的元组工作得很好.还有什么我应该考虑的,或者这会起作用吗?

检查System.ValueTupleNuGet依赖项后,看起来不支持.NET Framework 4.0.是这种情况,还是有一些方法可以让新语言在这个运行时工作?

c# .net-4.0 .net-4.5 c#-7.0

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

如何创建ImmutableDictionary的新实例?

我想写这样的东西:

var d = new ImmutableDictionary<string, int> { { "a", 1 }, { "b", 2 } };
Run Code Online (Sandbox Code Playgroud)

(使用ImmutableDictionary来自System.Collections.Immutable).这似乎是一个简单的用法,因为我预先声明了所有的价值 - 那里没有变异.但这给了我错误:

类型' System.Collections.Immutable.ImmutableDictionary<TKey,TValue>'没有定义构造函数

我应该如何用静态内容创建一个新的不可变字典?

c# immutability .net-4.5

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

我在哪里可以找到Visual Studio 2015安装中的Microsoft.TeamFoundation.VersionControl.Client.dll?

我按照文章中的说明,在开发签入策略时支持Visual Studio的多个版本.现在,我在哪里可以找到:

Microsoft.TeamFoundation.VersionControl.Client.dll
Run Code Online (Sandbox Code Playgroud)

对于我的VS2015安装下的Team Foundation Server 2015(版本14)?(或者在NuGet?)

没有类似的东西

C:\Program Files (x86)\Microsoft Visual Studio 14\Common7\IDE\PrivateAssemblies\
Run Code Online (Sandbox Code Playgroud)

tfs tfs-sdk visual-studio-2015

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

DataTestMethod与TestMethod

我开始使用MSTest 2 DataRow属性来检查单个测试中的多个案例:

[TestMethod]
[DataRow(1, 1, 2)]
[DataRow(1, 2, 3)]
public void AdditionWorks(int op1, int op2, int expectedResult)
{
    Assert.AreEqual(expectedResult, new Sut().Add(op1, op2));
}
Run Code Online (Sandbox Code Playgroud)

它在NCrunch和CI中都很好用.只是现在我注意到有一个特殊属性DataTestMethod应该标记这样的测试而不是TestMethod.

有区别吗?特别使用一种变体的原因是什么?

c# unit-testing mstest

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

如何通过TFS CI监控所有GIT分支?

Team Foundation Server 2013提供持续集成构建服务.在Visual Studio 2013中进行设置的过程中,我遇到了用于选择要监视的GIT分支的对话框:

对话窗口

如果我想触发所有提交的构建,我该怎么办?

git continuous-integration visual-studio-2013 tfs2013

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

如何从类语法树中获取类语义模型?

我怎样才能ITypeSymbolClassDeclarationSyntaxRoslyn中获得类语义模型()?从这个语法树:

在此输入图像描述

在我看来,我可以使用的唯一一点是ClassDeclaration像令牌一样IdentifierToken无法传递给GetSymbolInfo方法.但是当我写作

context.SemanticModel.GetSymbolInfo(classDeclaration)
Run Code Online (Sandbox Code Playgroud)

结果是

context.SemanticModel.GetSymbolInfo(classDeclaration)
{Microsoft.CodeAnalysis.SymbolInfo}
    CandidateReason: None
    CandidateSymbols: Length = 0
    IsEmpty: true
    Symbol: null
    _candidateSymbols: Length = 0
Run Code Online (Sandbox Code Playgroud)

......所以没有比赛.我想知道问题是我要求错误的语法元素,或者问题实际上是我在询问我分析类的属性并且类本身尚未准备好的那一刻.

c# roslyn

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

如何在温莎城堡工厂方法中达到请求的类型?

我想在组件注册期间使用工厂方法来集成静态记录器工厂,如下所示:

Component
    .For<ILogger>()
    .UsingFactoryMethod((kernel, componentModel, creationContext) => LoggingFactory.GetLogger("..."))
    .LifestyleTransient(),
Run Code Online (Sandbox Code Playgroud)

GetLogger类需要记录上下文的名称。我想在那里传递请求记录器的类的全名。在这种情况下,这将是明确的,因为ILogger服务的生活方式是短暂的。

我看到有creationContext.RequestedType(包含ILogger),但没有creationContext.RequestingType

logging castle-windsor

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

如何在 Linux 容器中运行 .NET Core 解决方案的 SonarQube 分析?

我想使用他们对 dotnet 全局工具的新支持在 Linux 容器中运行 SonarQube 分析。我想知道在这种情况下配置(服务器 URL、用户凭据)在哪里?

docker sonarqube .net-core

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