可能是一个愚蠢的问题,但有人知道如何指定VSTEST.Console.exe运行的输出文件名吗?我的命令行如下:
vstest.console.exe [assembly] /logger:trx
Run Code Online (Sandbox Code Playgroud)
在运行结束时,控制台中会出现以下内容:
ResultsFile: somepath\TestResults\{username}_{workstation} {timestamp}.trx
Run Code Online (Sandbox Code Playgroud)
我尝试使用.runsettings文件来指定输出位置,但这似乎只能控制输出目录,而不是输出文件.没有找到任何似乎可以控制它的东西.
我想解析TRX文件并从中生成一个报告(这已经有效,但如果我不能指定TRX文件的输出路径,我将不知道从脚本中取出它的位置!)
我必须在这里遗漏一些东西......
假设我使用C#运行一个长时间运行的SQL Server存储过程(比方说30分钟).进一步假设我在C#中对查询设置了1小时的超时时间,这样如果由于某种原因,这个SP花费的时间比预期的要长,我最终不会垄断数据库.最后,假设此存储过程中有一个try/catch块来捕获错误,并在其中的任何步骤失败时进行一些清理.
一些代码(C#):
using (SqlCommand comm = new SqlCommand("longrunningstoredproc"))
{
comm.Connection = conn;
comm.CommandType = CommandType.StoredProcedure;
comm.CommandTimeout = 3600;
comm.ExecuteNonQuery();
}
/* Note: no transaction is used here, the transactions are inside the stored proc itself. */
Run Code Online (Sandbox Code Playgroud)
T-SQL(基本上等于以下内容):
BEGIN TRY
-- initiailize by inserting some rows into a working table somewhere
BEGIN TRANS
-- do long running work
COMMIT TRANS
BEGIN TRANS
-- do long running work
COMMIT TRANS
BEGIN TRANS
-- do long running work
COMMIT TRANS
BEGIN TRANS …Run Code Online (Sandbox Code Playgroud) 默认情况下,旋转矩阵使用原点作为旋转的中心.要围绕任意点旋转,您必须使用平移矩阵减去到原点的距离,进行旋转,然后平移.除了这对我来说似乎没有那么好用.我有以下代码(假设我的对象是100x100,中心为50,50):
t = IDENTITY;
t = translate(t, -50, -50);
t = rotate(t, theta);
t = translate(t, 50, 50);
Run Code Online (Sandbox Code Playgroud)
不幸的是,如果我将此变换矩阵t应用于我的对象,则对象定位不正确.
我已经实现了一个快速的jsfiddle来演示我的问题:http://jsfiddle.net/9M3uy/67/
在JSFiddle中,红色旋转的方块是旋转应该结束的地方(由CSS3内置的变换原点提供),蓝色旋转的方块是我的计算结束的地方(绿色将是原始的非旋转方块) ).
有任何想法吗?我只是不明白翻译,旋转,翻译机制是如何运作还是我做了一些可怕的错误?
我们公司希望通过我们的CI服务器开始触发我们的QUnit单元测试,并将PhantomJS作为实现这一目标的手段.我们首先尝试通过以下脚本以幻像打开几个我们的QUnit测试页面:
var page = require('webpage').create();
var args = require('system').args;
page.onConsoleMessage = function(msg, lineNum, sourceId) {
console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")');
};
page.onError = function(msg, trace) {
var msgStack = ['ERROR: ' + msg];
if (trace) {
msgStack.push('TRACE:');
trace.forEach(function(t) {
msgStack.push(' -> ' + t.file + ': ' + t.line + (t.function ? ' (in function "' + t.function + '")' : ''));
});
}
console.error(msgStack.join('\n'));
}; …Run Code Online (Sandbox Code Playgroud) 我正在尝试为其他解决方案/项目/等中使用的一对内部C#项目(最终更多,但从这两个开始)生成NuGet包.这两个内部C#项目都引用了其他NuGet包(特别是Enterprise Library Logging).我正在使用Nuget的功能,它允许它从CSPROJ文件构建包,以简化我的生活.问题是Nuget.Exe工具不识别项目引用的包作为依赖项.要提供解决方案的完整布局:
Solution:
Project 1
Refs to some NuGet packages off the global repository (Enterprise Library, etc etc).
(has a packages.config file that explicity lists them all)
Project 2
Refs to some NuGet packages off the global repository (Enterprise Library, etc. etc).
Project ref to Project 1
(has a packages.config file that explicity lists them all)
Run Code Online (Sandbox Code Playgroud)
我使用的命令行是:
nuget pack Project2.csproj -IncludeReferencedProjects -verbosity detailed
Run Code Online (Sandbox Code Playgroud)
命令行输出的相关部分是:
Found packages.config. Using packages listed as dependencies
Id: Project2
Version: 1.0.0.0
Authors: abc
Description: abc …Run Code Online (Sandbox Code Playgroud) 我有以下类层次结构:
class A {
/// stuff
}
class B : A {
/// stuff
}
class C<T> : B {
/// stuff
}
Run Code Online (Sandbox Code Playgroud)
然后在某个地方完全不同我有以下三种方法:
public void foo(A a) {
}
// overload 1
public void bar(B b) {
}
// overload 2
public void bar<T>(C<T> ct) {
}
Run Code Online (Sandbox Code Playgroud)
现在,无论出于何种原因,我需要在给定A的实际类型的情况下从foo调用"正确"栏.也就是说,如果A实际上是B类,我需要调用重载1并且如果A实际上是类型C(无论T是什么),我需要调用重载2.为了完整性,如果A不是B或C,则什么都不做.
现在,我正在使用Type类的IsAssignableFrom方法来决定是否可以向上转换为B:
public void foo(A a) {
if (typeof(B).IsAssignableFrom(a)) {
bar((B)a);
}
}
Run Code Online (Sandbox Code Playgroud)
但这也需要C变体.所以问题是,我该如何执行此向上播放?反射?动力学?我们使用的是.NET 4,所以在C#5中引入的任何内容都是我无法使用的.