小编Her*_*ess的帖子

Visual Studio:项目不是最新的"因为"指定了AlwaysCreate"?

我已经将VS2008的解决方案迁移到了VS2010(SP1).
现在,我的一个项目从来没有找到最新的和平.每个构建都有以下输出:

1>------ Build started: Project: PROJ_NAME, Configuration: Release Win32 ------
1>Build started 19/05/2011 7:59:27 AM.
1>InitializeBuildStatus:
1>  Creating "Release\PROJ_NAME.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1>  All outputs are up-to-date.
1>  All outputs are up-to-date.
1>Lib:
1>  All outputs are up-to-date.
1>  PROJ_NAME.vcxproj -> C:\projFolder.PROJ_NAME.lib
1>FinalizeBuildStatus:
1>  Deleting file "Release\PROJ_NAME.unsuccessfulbuild".
1>  Touching "Release\PROJ_NAME.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:00.09
========== Build: 1 succeeded, 0 failed, 5 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c++ msbuild visual-studio-2010 visual-studio visual-studio-2015

35
推荐指数
3
解决办法
4万
查看次数

如何检查变量是否真的响应:dup?

我想用来value.respond_to?(:dup) ? value.dup : value检查我是否可以复制一个对象,但它失败了,TypeError在booleans,nil或类似的"原语"上.

我最终得到了:

begin
  value = value.dup
rescue
  #ignore, use the original if no dup-able (e.g nil, true, etc)
end
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

额外奖励:为什么会回应:dup

不深dup,仅针对这个问题.

编辑:思考:

  • obj.class.methods.include? :new 很好,但有点过于hackish我觉得它有糟糕的表现
  • Marshal 看起来也有点矫枉过正
  • 一线救援可能是最好的解决方案,但目前不可能进行类型特定的一线救援(IIUC matz就是这样!),并且正如@JörgWMittag提到它的错误.
  • 我个人认为dup在对象级别定义是错误的.

所以,引用@Linuxios

没有更好的方法

ruby

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

使用boost - 将它放在源代码管理中还是让任何开发人员自己安装?

目前,我们在第三方目录下的SVN中使用Boost.问题在于更新整棵树需要花费很多时间,而且我责怪Boost的大量文件(以及其他罪魁祸首).

或者,我可以让任何开发人员自己安装它,但是我必须强迫他们安装到同一个位置(这非常难看......).

什么是首选?如何处理安装位置问题?
还有其他选择吗?

我在Windows下使用VS2008(很快VS2010)(而不是VS2008 ......).

编辑:我们已迁移到VS2010并正在使用属性表.请参阅下面的答案.
Ralf使用批处理文件有很好的非常详细的方法.
其他方法仍然受欢迎...... :)

c++ svn version-control boost

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

移动和桌面AIR之间的差异

香港专业教育学院尝试过在黑莓论坛上提问但没有运气......也许这里有一些黑莓/ Adob​​e专家......

我即将使用Adobe AIR/flex为Blackberry Playbook开始一个项目,我有几个问题:

  1. 如果我为Playbook开发应用程序,那么同一个应用程序是否能够在桌面上运行?如果是这样,会有什么不同吗?
  2. 桌面和移动库有什么区别?与桌面相比,我是否只能访问移动设备上的SDK子集?
  3. 我可以创建一个可以将方法调用到我的服务器上的JAVA后端的playbook应用程序吗?

谢谢菲尔

apache-flex air mobile adobe blackberry

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

如何测试MongoDB文档中的字符串字段是否为空?

我试图获得具有空字符串的字段的文档数.这个字段,让我们称之为"Field_One"存在于所有文档中(因此,要清楚,我不是要查找字段是否存在,我想在字段中找到哪些文档没有任何内容(空字符串)"Field_One ".

我尝试使用(使用C#驱动程序):

collection.Find(Query.NE("Field_One", BsonNull.Value)).Count()
collection.Find(Query.NE("Field_One", BsonString.Null)).Count()
Run Code Online (Sandbox Code Playgroud)

甚至(有人在某处建议):

collection.Find(Query.GT("Field_One", BsonString.Empty)).Count()
Run Code Online (Sandbox Code Playgroud)

但它不起作用(它们返回所有文件).

另外,作为一个相关问题:这是获取集合中匹配文档数量的最佳方法吗?据我所知,它实际上不会将文档从数据库检索到我的程序,因此计数计算在MongoDB服务器中完成.

c# mongodb mongodb-query mongodb-.net-driver

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

将分隔的字符串推入List <int>

如果我有以下字符串:

"123; 3344; 4334; 12"

我想在一个通用的这些数字List<int>,我想我不知道这里除了在循环分裂,做一个转换,然后添加到一个很好的方式List<int>,通过每一次迭代.有没有其他方法可以解决这个问题?

更新.这就是我想出来的.我想这样做旧时尚的方式,而不是使用LINQ,因为我试图让只用字符串,数组列表和操纵和一般转换更好.

public List<int> StringToList(string stringToSplit, char splitDelimiter)
{
    List<int> list = new List<int>();

    if (string.IsNullOrEmpty(stringToSplit))
        return list;

    string[] values = stringToSplit.Split(splitDelimiter);

    if (values.Length <= 1)
        return list;

    foreach (string s in values)
    {
        int i;
        if (Int32.TryParse(s, out i))
            list.Add(i);
    }

    return list;
}
Run Code Online (Sandbox Code Playgroud)

这是我计划在每次需要将分隔的字符串列表转换为List时使用的新字符串实用程序方法

如果出现问题,我会将一个空列表返回给调用者.好坏?这样做很常见吗?

是的,有更多的"优雅"的方式与LINQ这样做,但我想这样做manually..the老办法,现在只是我自己的理解.

另外,困扰我的是:

list.AddRange(str.Split(';').Select(Int32.Parse));
Run Code Online (Sandbox Code Playgroud)

是我不知道的:

  1. 如何在那里推送TryParse.
  2. 如果str.Split(';').Select(Int32.Parse)因为某种原因失败了怎么办......那么这个AddRange所处的方法会爆炸,除非我在整个事情中添加一个try/catch,如果我没有正确处理它,我就搞砸了.

c# string parsing

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

winforms listview - 使第一列始终可见?

我有一个应用程序(winforms,c#)以一种非常常见的方式在Listview中显示数据 - 第一行是标题,每行中的第一列是标题,以下子项是数据本身.

我希望第一列(标题列)始终可见,水平滚动仅影响其他列.

我不认为在winforms listview中是可能的(我错了吗?).因此,我正在考虑将列表视图拆分为两个列表视图 - 一个用于标题,第二个用于数据.在那种情况下,我需要连接垂直滚动条 - 我觉得这比我预期的更难.

我采取了错误的路径(例如,使用不同的控件会更容易)吗?如果没有,关于如何实现它的任何指针?

注意:Winforms Listview的API很差(例如没有滚动事件)并且被称为buggy,所以我正在寻找一个工作样本而不是MSDN链接......

谢谢

c# listview winforms

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

服务器套接字挂起在Close_Wait中

方案如下:
我从C#Server Application向客户端发送大量数据.
突然数据流停止,客户端没有数据更新,端口被阻止.

发生这种情况时,服务器端的症状是

  1. Close_Wait在该端口(netstat)
  2. 操作将阻止(错误代码:135)在日志中.
  3. 无法从客户端建立新连接.
  4. Telnet失败到该端口

目前,我们会在出现问题时重新启动服务器.显然这不是一个解决方案.

有人可以为Windows Server 2008中的Close_Wait中的服务器套接字提供解决方案吗?对此场景的任何建议都将不胜感激.

提前致谢.

c# sockets tcp

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

这是在Ruby中保持连接池的首选方法吗?

我对ruby(在日常编写java)方面不是很有经验,而且我正试图找到保持连接池之类的"Ruby方式".我有多个线程的独立Ruby应用程序,我想出了类似下面的内容.

请注意,MongoClient由蒙戈本地Ruby驱动程序提供保持连接错误游泳池内,让所有我需要的是能够保持的一个实例MongoClient各地

require 'mongo'

module MongoPool

  # module instance var to ensures only one exists
  @mongo = nil

  def self.lazy_create
    @mongo ||= Mongo::MongoClient.new('localhost', 27017, :pool_size => 5, :timeout => 5)
  end

  # when getting connection lazily create pool by assigning to @mongo only if nil
  def connection
    MongoPool.lazy_create
  end

end

class PeopleRepository

  include MongoPool

  def random_person
    coll = connection['test']['people']
    coll.find_one
  end

end

# usage
PeopleRepository.new.find_one
Run Code Online (Sandbox Code Playgroud)

我知道有效(检查过几次调用object_id@mongo保持不变),但这是保持一切的首选方法吗?

可能有多个存储库,因此每个存储库都可以包含MongoPool和使用它的连接.上述解决方案有任何缺点吗?还有其他方法我应该注意吗?

注意:问题更多的是关于如何以Ruby方式执行操作,而不是关于如何一般地执行此操作(因为我使用它).

ruby module mongodb

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

WPF:如何绑定到name属性

我可以绑定到name属性吗?这似乎不起作用:

<TextBlock Name="FordPerfect" Text="{Binding Path=Name, Mode=OneWay}"/>
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?

编辑:
添加ElementName=FordPerfect"解决了问题.我不明白的是为什么只有绑定到Name需要这个,而其他属性没有.

注意:将第二个(设计)问题移到另一个问题(我应该在第一次放置......)

谢谢

wpf binding

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