小编Iar*_*ica的帖子

如何重置字典

如果我宣布这样的字典:

private static Dictionary<string, object> aDict = new Dictionary<string, object>();
Run Code Online (Sandbox Code Playgroud)

现在我想在另一个地方使用它.我该如何重置?

aDict = new Dictionary<string, object>(); // like this?

aDict = null; // or like this?
Run Code Online (Sandbox Code Playgroud)

或其他重置样式?

c# dictionary

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

引用从也使用其中一些包的项目中使用NuGet包的程序集

我有一个复杂的库A,包含几个生成以下程序集的c#项目:

  • 核心
  • A.Caching
  • A.Logging
  • A.MongoDb

该库是由我编写的,我可以完全访问其源代码.这取决于几个NuGet包,假设它们是:

  • mongocsharpdriver
  • EnterpriseLibrary.Caching
  • EnterpriseLibrary.Logging

这些库(MongoDb驱动程序和EntLib)未安装在GAC中.

我还有一个Web项目B,我想在其中使用库A作为DLL的引用(不包括项目到解决方案B).Web项目依赖于几个NuGet包,其中包括:

  • mongocsharpdriver
  • EnterpriseLibrary.Logging

在解决这些包的版本A,并B为他们没有同步发展不匹配.图书馆A是在一年前开发的,从那时起就一直使用.

问题:分发库的正确方法是什么,A以便:

  1. 即使A没有引用lib 依赖项,任何解决方案都可以使用它.
  2. 如果解决方案具有自己的lib A依赖项版本,则它们不会发生冲突.

我目前的做法:

  1. 从我的解决方案中,我参考了四个dll : A.Core, A.Caching, A.Logging, A.MongoDb.
  2. 然后,如果它们不存在,我将其所有NuGet依赖项添加到解决方案中.
  3. 它有时会破坏,因为解决方案B使用mongocsharpdriver 1.5版,lib A使用1.1版(版本不兼容).

那么,我该怎么办?处理冲突引用与引用引用的正确方法是什么?

.net c# assemblies .net-assembly nuget

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

TFS为一个特定的解决方案门户办理登机手续,为整个团队项目提供nof

TL; DR:是否可以在Team Project中为一个解决方案设置门控签到,这样就不会弄乱同一个团队项目中的其他(非相关)代码?

详细:

我们有TFS团队项目,里面有几个解决方案,每个解决方案位于不同的文件夹 这些解决方案大多属于开发团队,每天使用构建服务器构建.

一个解决方案是QAs,它包含自动UI测试.现在我们要设置门控签到(通过此处和其他一些文档的说明)

这涉及为其创建构建定义和CI触发器.但在我们看来,每次提交团队项目时都会触发这样的构建设置,而不仅仅是QA团队执行的设置.

所以,问题是我们是否可以为我们的QA文件夹进行门控登记,而无需迁移到单独的Team Project并且与开发人员混淆.

谢谢.

编辑:相关问题

version-control tfs tfsbuild tfs2010

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

这个技巧如何进行类型检查?

阅读这篇博文 – https://www.haskellforall.com/2021/05/the-trick-to-avoid-deeply-nested-error.html – 我意识到我不明白为什么“技巧”实际上有效这个情况:

{-# LANGUAGE NamedFieldPuns #-}

import Text.Read (readMaybe)

data Person = Person { age :: Int, alive :: Bool } deriving (Show)

example :: String -> String -> Either String Person
example ageString aliveString = do
    age <- case readMaybe ageString of
        Nothing  -> Left "Invalid age string"
        Just age -> pure age

    if age < 0
        then Left "Negative age"
        else pure ()

    alive <- case readMaybe aliveString of
        Nothing    -> Left "Invalid alive string" …
Run Code Online (Sandbox Code Playgroud)

haskell types typechecking do-notation

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

UInt抛出OverflowException

在向文本框输入负值时,我收到错误消息 Unhandled Exception: System.OverflowException: Value was either too large or too small for a UInt32.

这是我的代码:

 UInt32 n = Convert.ToUInt32(textBox2.Text);    
         if (n > 0)
          //code 
         else
         //code
Run Code Online (Sandbox Code Playgroud)

c#

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

使用ANTLR 3解析由两个句点分隔的浮点数和范围

我正在研究一种具有两种当前"冲突"功能的DSL解析器:

  1. 浮点数就像123.4.
  2. 指定的范围ID[2..5](ID被定义为'a'..'z'+并且无关紧要.部分'[2..5]'最重要.

应解析它的测试语法如下所示:

grammar DotTest;

span returns [double value] 
  : ID'['e=INT'..'f=INT']' { /*some code to process the values*/ $value = (double)(Int32.Parse($e.text) + Int32.Parse($f.text)); } ;

num returns [double value]
  : DOUBLE {$value = double.Parse($DOUBLE.text); } ;

INT     : '0'..'9'+ ;
DOUBLE  : '0'..'9'+'.''0'..'9'+ ;
ID      : 'a'..'z'+ ;

WS      :   ( ' ' | '\t' | '\r' | '\n' ) {$channel=HIDDEN;} ;
Run Code Online (Sandbox Code Playgroud)

问题:规则span无法正确解析其输入,因为它与DOUBLE令牌冲突.词法分析器尝试匹配2..5为a DOUBLE并失败.以下是它在ANTLR Works中的外观: …

parsing antlr antlr3

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