小编Mic*_*tum的帖子

除编译外,MSBuild脚本应该包含哪些内容?

我目前正在尝试设置CruiseControl.net,所以我想知道如何拆分我的任务.

通常,我想运行单元测试(xUnit.net),帮助文件生成(Sandcastle)和FxCop.

现在我只是想知道我是否应该在msbuild配置("文档")中指定一个新目标并使用它来运行SandCastle,或者如果它属于一个单独的脚本?此外,msbuild用于构建某些东西,所以我猜ncover,xunit和FxCop不应该是它的一部分,或者它们应该是什么?

msbuild的预期范围是什么?

.net cruisecontrol.net msbuild

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

IList和IEnumerable上的扩展方法具有相同的名称?

我编写了一些扩展方法将IEnumerable和IList转换为字符串.现在,由于IList继承自IEnumerable,我必须以不同的方式命名它们.

我只是想知道是否有办法避免这种情况?我可以在IEnumerable上使用扩展方法,然后在具有相同名称相同签名的IList上使用另一个方法吗?有点像覆盖,除了扩展方法当然是静态的.

我只想在List上使用更有效的方法体,而不必使用第二个方法名称.

是的,我知道在这个特定的情况下,我应该首先运行一个探查器来真正看看第二种方法是否更好,但我感兴趣的是它通常可以覆盖派生类中的扩展方法.

.net c# extension-methods

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

如何在JavaScript中复制变量?

我有这个JavaScript代码:

for (var idx in data) {
    var row = $("<tr></tr>");
    row.click(function() { alert(idx); });
    table.append(row);
}
Run Code Online (Sandbox Code Playgroud)

所以我正在查看一个数组,动态创建行(我创建单元格的部分被省略,因为它并不重要).重要的是我创建了一个包含idx变量的新函数.

但是,idx只是一个引用,因此在循环结束时,所有行都具有相同的功能,并且所有行都提醒相同的值.

我现在解决这个问题的一种方法是这样做:

function GetRowClickFunction(idx){
    return function() { alert(idx); }
}
Run Code Online (Sandbox Code Playgroud)

在我调用的调用代码中

row.click(GetRowClickFunction(idx));
Run Code Online (Sandbox Code Playgroud)

这有效,但有点难看.我想知道是否有更好的方法可以在循环中复制idx的当前值?

虽然问题本身不是特定于jQuery(它与JavaScript闭包/范围有关),但我使用jQuery,因此只有jQuery的解决方案才有效.

javascript jquery closures loops

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

运行Visual Studio 2010实例并以编程方式附加到进程?

我有一个WinForms应用程序(.net 3.5),它显示进程列表.

我希望能够附加其中一个进程.我有多个运行的Visual Studio 2010实例,我想创建一个List/Dropdown,我在其中选择其中一个实例,然后将调试器附加到它.

获取VS2010实例应该不会太难,但我不知道如何调用"附加到进程"命令.我想避免使用SendKeys-Type解决方案,所以我只是想知道是否有某种方法可以做到这一点?

编辑:澄清:我想使用特定的运行VS2010来调试外部应用程序.

.net debugging remoting visual-studio-2010

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

使用Reflection从基类构造函数设置派生类的值

我有两个这样的课程:

public abstract class MyBase
{
     protected MyBase(){
         Initialize();
     }

     protected IDictionary<string,string> _data;

     private void Initialize() {
         // Use Reflection to get all properties
         // of the derived class (e.g., call new MyDerived() then
         // I want to know the names "Hello" and "ID" here
         var data = GetDataFromBackend(propertyNamesFromDerived);
         _data = data;
     }
}

public class MyConcrete : MyBase
{
     public MyConcrete(){
         // Possibly use Reflection here
         Hello = _data["Hello"];
         ID = new Guid(data["ID"]);
     }

     public string Hello {get;set;}
     public …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection

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

如何在Apache Solr中创建复合键字段?

我有一个Apache Solr 3.5设置,它有一个像这样的SchemaXml:

<field name="appid" type="string" indexed="true" stored="true" required="true"/>
<field name="docid" type="string" indexed="true" stored="true" required="true"/>
Run Code Online (Sandbox Code Playgroud)

我需要的是一个将它们连接在一起并将其用作的字段<uniqueKey>.似乎没有内置,没有创建一个多值id字段和使用<copyField>,但似乎uniqueKey需要一个单值字段.

我需要这个的唯一原因是允许客户盲目地<add>拨打电话,并让Solr弄清楚它是否是添加或更新.所以,我没有太在意怎样的ID样子.

我想我必须编写自己的Analyzer或Tokenizer?我刚刚开始学习Solr,所以我不能100%确定我真正需要什么,并且会欣赏我需要实现的任何提示.

java solr

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

如果我想填充4个字节,Little和Big Endian如何看?

不知何故,我有一个脑筋,无法找出适当的大和小端表示.我有一个字节流,其中存储了32位整数.

整数是1000十进制,即0x03E8十六进制.在Little Endian中,这将被存储为E8 03表示为两个字节.

我假设如果我想要4字节填充,它将被存储为00 00 E8 03.但是,当我使用BitConverter时,我得到了奇怪的结果:

// true
Console.WriteLine(BitConverter.IsLittleEndian);

var bytes = new byte[4] { 0x00, 0x00, 0xE8, 0x03 };
var convertedInt = BitConverter.ToInt32(bytes,0);
// 65536000 ?!
Console.WriteLine(convertedInt);

var inputInt = 1000;
var convertedBytes = BitConverter.GetBytes(inputInt);
// 4 Bytes: e8 03 00 00
Console.WriteLine("{0} Bytes: {1:x2} {2:x2} {3:x2} {4:x2}", convertedBytes.Length,
        convertedBytes[0],  convertedBytes[1],
        convertedBytes[2],  convertedBytes[3]);
Run Code Online (Sandbox Code Playgroud)

这看起来像BitConverter坏了.文件清楚地说:

GetBytes方法返回的数组中的字节顺序取决于计算机体系结构是little-endian还是big-endian.

那么,我是否误解了Little Endian是如何工作的,BitConverter是破碎的,还是我做错了什么?

.net c# endianness

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

列表中每个用户只允许一个条目 - 列表的ListReceiver"功能"?

我想知道是否有一种方法可以在Sharepoint中创建自定义列表,但是指定每个用户只能在列表中创建一个项目.

我在考虑两种方法:

  • 开发一个ListReceiver,用于检查用户是否已创建项目.问题:我没有看到在特定列表上启用功能的方法(想法是非开发人员可以创建自定义列表并"切换"功能,如果他们想要
  • 创建自定义列表类型,因此当人们单击"创建"按钮时,他们会在"自定义列表"下看到"自定义唯一列表"作为附加类型.

在我做第二个选项之前,有没有人知道第一个选项是否可行?或者即使它已经可以在没有自定义开发的情况下完成(并且在SPDesigner中没有自定义工作流)

c# sharepoint

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

使用set Prefix创建GUID

我想知道是否有办法生成有效的GUID/UUID,其中第一个(或任何部分)部分是用户选择的前缀.

即,GUID的格式为AAAAAAAA-BBBB-CCCC-DDDD-DDDDDDDDDDD,我想将任何部分设置为预定义值(理想情况下为AAA).目标是使GUID仍然是全局唯一的,但它们不需要加密安全.

c# guid

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

PHP换行似乎不起作用

我有以下代码使用mail()函数发送消息.一切都很好,除了每行末尾的换行似乎不起作用.正如你所看到的,我正在使用"\ r \n"希望这会给我一个换行符,但我没有添加<br>以获得休息时间,但我宁愿不使用它以防万一有人没有HTML电子邮件客户端

<?php
  $to = 'user@example.com'; // Was a valid e-Mail address, see comment below
  $name = $_REQUEST['name'] ;
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;

  $content = 'Name: '.$name."\r\n";
  $content .= 'Email: '.$email."\r\n";
  $content .= 'Subject: '.$subject."\r\n";
  $content .= 'Message: '.$message."\r\n";

  $headers  = 'MIME-Version: 1.0' ."\r\n";
  $headers .= 'Content-type: text/html; charset=iso-8859-1' ."\r\n";

  // Additional headers
  $headers .= 'To: iVEC Help <help@ivec.com>'. "\r\n";
  $headers .= 'From: '.$name.' <'.$email.'>' . "\r\n";

  mail( $to, …
Run Code Online (Sandbox Code Playgroud)

php string line-breaks

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