小编Dan*_*Man的帖子

Screen.AllScreen未提供正确的监视器计数

我在我的程序中做了类似的事情:

Int32 currentMonitorCount = Screen.AllScreens.Length;

if  (currentMonitorCount < 2)
{
   //Put app in single screen mode.
}
else
{
   //Put app in dual screen mode.
}
Run Code Online (Sandbox Code Playgroud)

非常重要我的应用程序可识别当前连接的监视器数量.

但是,在我多次插入/拔出显示器后,Screen.AllScreens.Length始终返回"2".

我的显示器知道它没有连接(它已进入'节电'模式),控制面板知道它没有连接(它只显示一个显示器).

那我错过了什么?我怎么知道只有一台显示器?

.net c# multiple-monitors windows-7 winforms

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

EF - 从AutomaticMigrations迁移到手动迁移

测试各种情况的漫长的一天结束,我不必重新创建生产数据库...

我们从EF开始,在开发过程中没有足够明智地从自动迁移转移到命名迁移.现在我正在尝试回放时钟,并创建一个与生产数据库对齐的初始迁移.

  1. 这是否可以将模型与迁移表中的自动迁移对齐?
  2. 我应该创建一个空迁移来开始命名迁移吗?我唯一的问题是如何在新开发人员加入时创建数据库...我可以简单地恢复数据库,然后应用迁移,但这会破坏美丽的EF迁移故事!
  3. 删除生产数据库,创建并编写脚本以重新导入数据(听起来很糟糕).

另一个皱纹 - 数据库是用EF5创建的,我们现在正在开发EF6.

在此先感谢您的帮助.

entity-framework ef-migrations

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

Jenkins:运行远程测试脚本和报告结果

我正试图从CI机器中取出Jenkins,我想让它开始自动开始测试它构建的应用程序.

我的设置是这样的:

  • 1个中央构建服务器
  • 8台专用测试机.

目前,当构建完成(并应用标签)时,我们手动四处走动,安装新构建并开始测试.每个测试需要8-24小时,因此并行运行是非常必要的.稍后,我们走来走去看看结果.

我想自动化:

  • 构建的分布
  • 安装程序
  • 测试脚本的开头
  • 收集数据.

我假设我可以使用Jenkins来完成所有这些,但是我还没有找到一个好的/简单的教程来告诉我如何做到这一点.我确信它涉及在所有测试机器上安装"从属"服务,但即使这样的说明似乎也不能很好地工作.

对于一个好的教程有什么想法?来自你们所有人的指示?谢谢!

windows testing automated-tests hudson jenkins

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

架构问题 - 一个中央数据库和许多不同的程序访问它

我正在设计一个程序,它将构建和维护一个数据库,并充当中央服务器.这是更宏伟计划的"第一阶段".稍后将会有3-5个远程程序围绕放入此数据库的信息构建.

要求是:

  1. 远程程序必须能够访问数据库中的信息.
  2. 远程程序必须能够在数据库中的信息发生更改时设置警报.
  3. 远程程序必须能够请求中央服务器出去并获取新的/不同的数据.

所以,问题是这样的:我如何将这些数据和事件暴露给外界?我的两个选择是:

  1. 让他们直接与我的"服务器"应用程序通信.这似乎更容易:
    • 做事件通知(虽然我想我可能在SQL中遗漏了一些东西).
    • 它似乎也更"可升级" - 这就是我不需要担心数据库更新和崩溃所有我的远程程序,因为一些事情发生了变化.我可以解释这个并将数据转换为子程序将理解的版本.
  2. 继续,让他们直接连接到数据库.
    • 关于这一点的好处是它已经解决了.我可以使用LINQ for SQL.主服务器应用程序唯一需要做的就是让远程程序知道数据库的位置.
    • 我不确定如何通过可能在同一台计算机上或不在同一台计算机上的不同程序触发/中继"事件"以进行数据库中的字段更改.

原谅我对这个问题的无知.我觉得很不自在地问它,但是我很难搞清楚从哪里开始.这是我的第一个真正的DB项目: - /

谢谢!

c# sql linq architecture

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

圆碰撞Javascript

您好,我需要为学校编写一个用Javascript编写的程序,该程序说明圈子是否发生碰撞。它不需要显示为图形。

我尝试了一下,但是我的代码似乎不起作用。

希望你能帮我个脚本。

这是我产生的代码。

function collision (p1x, p1y, r1, p2x, p2y, r2) {
    var a;
    var x;
    var y;

    a = r1 + r2;
    x = p1x - p2x;
    y = p1y - p2y;

    if (a > (x*x) + (y*y)) {
        return true;
    } else {
        return false;
    }   
}
var collision = collision(5, 500, 10, 1000, 1500, 1500);
alert(collision);
Run Code Online (Sandbox Code Playgroud)

javascript geometry detection

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

创建自我打开的文档

我正在开发一个具有专有文件格式的项目.该项目有一个大型的安装必需程序和一个不需要安装的较小的查看器.我希望能够从我的主应用程序中导出"自我打开".exe的文件 - 也就是说,您可以双击exe并显示嵌入的文件(这是为了让查看器传递给有没有安装能够查看它的主应用程序 - 它们只会传递文档).

我对如何做到这一点有点失落.我一直在调查的两个想法已经走到了尽头.他们是:

1)将文件嵌入查看器中.我可以通过Visual Studio手动执行此操作,我有一个工作演示,但我无法想出一种方法来实现这一点.

2)创建一个自解压存档,将文件和exe提取到temp,并在命令行上使用文件名运行exe.这听起来很简单,也可能(尽管是hacky),但我遇到的问题是归档或安装程序似乎没有必要的命令行来完成所有这些.

有任何想法吗?我更喜欢第二种,因为它很容易,但第一种因为它看起来更像防弹/更少hacky.

.net c# windows self-extracting

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

Emgu.cv的Tesseract对象使用不正确的OCR文件路径

我希望使用EMGU.CV的Tesseract对象在一些图片上进行OCR.首先,我已经下载,编译并运行了他们的OCR和LicensePlateRecognition示例.

但是,Tesseract不断抛出以下异常:

无法使用Path'teseract'和语言'eng'创建ocr模型.

我追溯到源头:

_ocr = new Tesseract(@"tessdata", "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_CUBE_COMBINED);

我尝试用最明显的方法修复它:我给它完整的路径,我将文件复制到'C:\',我确保我的程序的当前目录与tessdata相同.

这些都不起作用,所以我使用procmon并发现它在这里寻找文件:

C:\ Program Files(x86)\ Tesseract-OCR\tessdata

似乎无论我做什么,我都无法从这个位置改变它.(当然,移动那里的文件).这个位置在EMGU.cv的代码中不存在,所以我的猜测是它被编译成Tesseract的代码作为默认值(?).

那么,如何更改Tesseract使用此位置?显而易见的方法是,Tesseract构造函数应该使用我传递给它的路径做某事,所以我错过了什么?

c# tesseract emgucv tessnet2

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