当我在Visual Studio中的项目中打开其中一个引用的dll的属性窗口时,我看到了一个Version和一个运行时版本.
实际上是我正在检查的Rhino.Mocks库.我明白了
有什么不同?(这是否意味着我无法使用3.6.0.0的Rhino Mocks?)
可以在项目属性中设置应用程序图标.如果你这样做,exe将有这个图标而不是默认的图标.此图标是win32资源,也可以像这样访问:
我希望有我的程序使用的文件类型的特殊图标.关联filetype-icon我可以在注册表中指定它("DefaultIcon"键中的"MyProg.exe,1").
那么如何添加更多图标到程序集,我可以将它用于filetype-association?
非常感谢你
ps:它是一个WPF应用程序(.NET 4.0)
现在看来单元测试已经风靡一时,我知道你们很多人都会想:"那么为什么不用语言X和框架Y呢?" 但我提出这个想法更像是一个概念的证明,或者是我早年用计算机编程怀旧的怀念.
我正在研究使用NASM在x86上运行的BSD,并且已经考虑使用shell脚本,期望(1)进行单元测试,但我想事先知道:
哪些单元测试框架可用于用x86汇编编写的应用程序?
我正在编写一个游戏引擎/库,其中我有一个事件调度程序类,它通过调用"已注册"事件处理程序类的侦听器方法来调度事件.可以通过调用适当的调度程序方法向事件调度程序注册事件处理程序/侦听器.
这显然会导致一些样板代码用于注册每个事件处理程序(以及我的引擎的其他方面都有类似的bolierplate代码),所以我想知道 - 如何在加载事件处理程序期间使用Instrumentation添加所有必需的代码class,因此编码时不需要事件调度程序的显式注册 - 在程序运行时自动添加对调度程序寄存器方法的调用.
我的理解是,为了使用Instrumentation,应该使用一些字节码修饰符API.我知道两个 - ASM和BCEL.我应该使用哪一个?显然,这是我想要做的一个简单的任务,所以我想要一个更容易学习和更好记录的那个.
编辑:这是一个具体的例子.
原始事件处理程序类:
@Handler //indicates this this class should be transformed
public class MouseEventHandler implements EventHandler<MouseEvent>
{
//hidden default constructor
public void handleEvent(MouseEvent event)
{ ... }
}
Run Code Online (Sandbox Code Playgroud)
改造后:
@Handler
public class MouseEventHandler implements EventHandler<MouseEvent>
{
public MouseEventHandler()
{
//add this line of code to default constructor
Game.getEventDispatcher().addEventHandler(this);
}
public void handleEvent(MouseEvent event)
{ ... }
}
Run Code Online (Sandbox Code Playgroud) 使用TeamCity,我们希望首先运行受代码更改影响的测试.
NCrunch(http://ncrunch.net)和Mighty Moose(http://continuoustests.com/)在本地开发机器上提供解决方案.TeamCity有一些解决方案吗?
上下文:我们正在运行许多集成测试和程序员测试我们的代码库.在集成服务器上运行所有测试最多需要4小时.它运行在相当强大的硬件上,并且在这方面没有太大的改进空间.当开发人员提交或推送时,获得快速反馈会很好.
在我的 Web 应用程序Application.End
中,由于某种原因在每次请求后都会调用并重新启动应用程序。当我在中设置断点时,Applicaion_End
我没有得到有用的堆栈跟踪。此外,事件查看器中没有条目。根据 MSDN,以下可能会导致应用程序重新启动:
- 从应用程序的 Bin 文件夹中添加、修改或删除程序集。
- 从 App_GlobalResources 或 App_LocalResources 文件夹中添加、修改或删除本地化资源。
- 添加、修改或删除应用程序的 Global.asax 文件。
- 在 App_Code 目录中添加、修改或删除源代码文件。
- 添加、修改或删除配置文件配置。
- 在 App_WebReferences 目录中添加、修改或删除 Web 服务引用。
- 添加、修改或删除应用程序的 Web.config 文件。
我猜我的代码更改了一些触发应用程序重新启动的文件。有什么办法可以找出究竟是什么原因导致应用程序重新启动?
编辑:我现在通过逐步执行代码并在资源管理器中查看时间戳来解决我的问题。在应用程序启动时,我正在从导致创建和删除 .ldb 文件的访问数据库中读取一个值。然而,这个问题还没有得到解答。是否有任何日志记录导致应用程序重新启动的此类事件?
我修改了程序集的字节码以摆脱错误,现在当我尝试使用它时,我得到一个InvalidProgramException.我所做的就是用NOPS代替这个代码:
catch (Exception exception1)
{
Exception exception = exception1;
if (exception as InvalidValueException == null)
{
throw new InvalidGenerationException(2);
}
else
{
throw exception;
}
}
Run Code Online (Sandbox Code Playgroud)
IL之前:
catch [mscorlib]System.Exception
{
IL_022f: stloc.s exception
IL_0231: ldloc.s exception
IL_0233: isinst Custom.InvalidValueException
IL_0238: brfalse.s IL_023d
IL_023a: ldloc.s exception
IL_023c: throw
IL_023d: ldc.i4.1
IL_023e: newobj instance void Custom.InvalidGenerationException ...
IL_0243: throw
}
Run Code Online (Sandbox Code Playgroud)
IL之后:
catch [mscorlib]System.Exception
{
IL_022f: nop
IL_0230: nop
IL_0231: nop
IL_0232: nop
IL_0233: nop
IL_0234: nop
IL_0235: nop
IL_0236: nop
IL_0237: nop …
Run Code Online (Sandbox Code Playgroud) 我有一个包含一些项目和外部exe的解决方案.当我构建时,我想将exe复制到我的构建文件夹,以及构建项目并将我的dll复制到构建文件夹.有没有办法运行这个外部exe作为我的后期构建事件?所以,当我在visual studio中运行我的解决方案时,我想基本上将外部exe设置为启动项目.这是可能的(或类似的东西)?