小编sgt*_*gtz的帖子

NUGet定制?

我有很多项目,还有几个解决方案(项目"池"的子集).有时候,只有特定的测试才能使用.sln.

问题:

  1. NUGet与每个解决方案分别联系在一起.

  2. NUGet喜欢在.sln所在的文件夹下的"packages"文件夹中找到下载.这不太理想.我有一个用于此类事物的库文件夹(一个用于池中的所有项目).我很高兴有一个NUGET子文件夹离开这个库区域.

我喜欢NUGet的便利,但我不确定它在大型项目解决方案中.

可能答案:

  1. 一种想法是只为NUGET提供.sln和.csproj,然后按照正常情况引用包.你失去了一些自动化方式.

  2. 我们不加包源代码管理,并说我们重建项目从源头控制,然后将的NuGet下载完全相同的版本要求(乱)...我甚至不知道的NuGet以这种方式工作.这将需要对nuget有效载荷提供者进行高度信任.不是个好主意.


但是在NuGet 1.4中,我们计划将它集成到NuGet中.当您尝试构建项目时,我们将添加一个新功能来基于每个项目中的packages.config文件恢复任何缺少的包和packages文件夹.

http://haacked.com/archive/2011/04/27/feedback-request-for-using-nuget-without-committing-packages.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3a%20haacked%20%28you% 27ve%20been%20HAACKED 29%

......至少有一条前进的道路.遗憾的是,对于具有相同库文件夹的多个解决方案而言,这是一团糟.

.net c# nuget

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


ExpandoObject或Dictionary的简写版本?

我非常喜欢匿名类型语法.例如

 new {a = 1, b = 2, c = 25.2}
Run Code Online (Sandbox Code Playgroud)

如果有一个像Expando或Dictionary这样的版本,它会很整洁.有办法吗?

.net c#

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

DebuggerDisplay是字典的键/值对吗?

是否可以将System.Diagnostics.DebuggerDisplay属性分配给Dictionary的定义?

例如

Dictionary<int, SomeClass> 
[System.Diagnostics.DebuggerDisplay("{Info,nq}")]
public class SomeClass{

    string code {get;set;}

    public string Info { get { return "info" + code; }}
}


// place an attribute here??
[System.Diagnostics.DebuggerDisplay("{???,nq}")]
Dictionary<int, SomeClass> dict = new Dictionary<int, SomeClass>();
Run Code Online (Sandbox Code Playgroud)

.net c#

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

IL的泛型?

是否可以在IL Generator中使用泛型?

        DynamicMethod method = new DynamicMethod(
            "GetStuff", typeof(int), new Type[] { typeof(object) });

        ILGenerator il = method.GetILGenerator();

        ... etc
Run Code Online (Sandbox Code Playgroud)

.net c# il reflection.emit ilgenerator

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

TransactionScope实现如何工作?需要什么数据库支持?

只需阅读TransactionScope实现.

有人可以确认这种技术是由客户端.net驱动,还是需要特定数据库供应商提供的特殊功能?这只是一个SQL Server吗?

.net c# ado.net transactions transactionscope

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

如何序列化数组?

症状:没有为类型定义序列化程序:System.Array

由于所有C#数组都继承自Array类,我认为这在ProtoBuf-net中是有效的

[ProtoMember(1)]
public Array SomeKindOfArray = new int[]{1,2,3,4,5};

[ProtoMember(2)]
public List<Array> SomeKindOfList = new List<Array>();
Run Code Online (Sandbox Code Playgroud)

我应该使用RuntimeTypeModel注册Array吗?

m.Add(typeof (Array), true);  // does not seem to help
Run Code Online (Sandbox Code Playgroud)

尝试:

new int[]{1,2,3,4} // works

(object)new int[] { 1, 2, 3, 4 } // does not work

(Array)new int[] { 1, 2, 3, 4 } // does not work
Run Code Online (Sandbox Code Playgroud)

另一种可能的解决方案(现在找不到SO url):

有一个基类型类项的列表.

包裹每种类型.例如

class TheBase{}

class ArrayOfInt { public int[] value;}
Run Code Online (Sandbox Code Playgroud)

然后,它将成为转换到包装器列表之一.有更简单的方法吗?

c# protobuf-net

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

如何定义命名空间范围的C#别名?

可以像这样在C#中定义别名

using kvp = System.Collections.Generic.KeyValuePair<string, string>;

var pair = new kvp("key", "value");
Run Code Online (Sandbox Code Playgroud)

Microsoft也定义了别名:

        int i;
        Int32 i2;
Run Code Online (Sandbox Code Playgroud)

我们如何定义命名空间中可用的别名?这是可配置的吗?


这个问题具体是关于别名......所以......不希望使用继承作为代理.在很多情况下我很满意......但是当你想要最好的描述性名称和速记版本时,我都不满意.

.net c# alias

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

天真的程序集初始化是否有良好的模式?

假设我们有几个程序集,它们都实现了IAnimal,我们想去一个地方找出其他IAnimal实现的存在.

特征:

  • 我们不希望在集会之外进行预先知识

  • 程序集中可能有一个寄存器类/方法

  • 最好不要使用反射.到目前为止,这似乎是唯一的方法

讨论:

我想通过继承静态地做这个,但是,我不知道汇编级初始化序列.

.net c#

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

如何阻止自定义ThrowHelper出现在StackTrace中?

您可以在.net基类库中找到的模式是ThrowHelper的模式.实质上,它减少了每种方法的字节码量.

无论如何,我想知道是否有一个属性指令来阻止throw Helper中的错误停止在帮助程序内部.我更喜欢调试器停在主叫线上.

  ThrowHelper.ThrowAnException ()
Run Code Online (Sandbox Code Playgroud)

而不是在ThrowAnException()内

.net c#

4
推荐指数
2
解决办法
245
查看次数