我在本地安装了TFS 2015 RC2.我正在尝试使用REST API在vNext定义中对构建进行排队.
我正在使用来自VSO的代码示例稍作修改(主要是更改URL和身份验证方法以使用内部部署TFS).
我正在使用两个REST API调用.
第一个是:GET http:// mytfssrv:8080/tfs/DefaultCollection/myproject/_apis/build/definitions /
返回所有指定的项目构建定义:ID为1的构建定义,这是一个XAML构建定义我不想排队并使用ID 2构建定义,这是vNext构建定义 - 这就是II想要对我的构建进行排队的地方
请注意,我省略了?api-version = 1.0部分 - 因为如果我不这样做,我只获得XAML构建定义.
第二个调用是在vNext构建定义中对新构建进行排队:
POST http:// mytfssrv:8080/tfs/DefaultCollection/myptoject/_apis/build/requests?api-version = 1.0
以下数据:
{"definition":{"id":**2**},"reason":"Manual","priority":"Normal","queuePosition":0,"queueTime":"0001-01-01T00:00:00","requestedBy":null,"id":0,"status":null,"url":null,"builds":null}
Run Code Online (Sandbox Code Playgroud)
我从服务器得到的响应是:
TF215016:构建定义2不存在.指定有效的构建定义,然后重试.
我尝试更改API版本,以各种方式更改发布数据但从未成功.
知道如何从DID中治愈TFS吗?
我有以下情况:
一个项目MyCompany.MyProject.Domain包含我的域模型,以及部分类(如Contact).
我希望'扩展'(通过部分类,而不是扩展方法)我的Contact类具有一个属性Slug,它将为我提供一个简单的URL友好文本表示的名字和姓氏.
我有一个字符串扩展方法ToSlug()在我Utility的项目MyCompany.MyProject.Utilities这不正是我想要2).
问题:我的Utility项目已经引用了我的Domain项目,这意味着我无法让Domain项目看到Utility项目的ToSlug()方法而不会导致循环引用.
我并不热衷于创建另一个项目来解决这个问题,我真的希望保持Slug逻辑共享.
我怎么解决这个问题?
在回答关于SO的另一个问题*以及随后的评论讨论时,我遇到了一个我不清楚的问题.
在我误入歧途的任何地方纠正我......
当垃圾收集器收集一个对象时,它会在一个单独的线程上调用该对象的终结器(除非终结器已经被抑制,例如通过一个Dispose()方法).在收集时,GC会挂起除触发集合的线程(除了背景集合)之外的所有线程.
不清楚的是:
*链接到原始问题:
.NET GC从终结器访问同步对象
我正在写一个WPF应用程序,我想使用这个库.
我可以IntPtr通过使用获得一个窗口
new WindowInteropHelper(this).Handle
Run Code Online (Sandbox Code Playgroud)
但这不会转换System.Windows.Forms.IWin32Window为我需要显示此WinForms对话框.
我该如何投IntPtr来 System.Windows.Forms.IWin32Window?
我不得不重新编译一些代码,我不知道这个语法是什么?你们可以帮忙,还是指点一下这是什么意思?我用Google搜索并搜索了这个网站,找不到任何东西.
只需一行代码:
Rectangle pageBounds;
// ISSUE: explicit reference operation
// ISSUE: variable of a reference type
Rectangle& local = @pageBounds;
Run Code Online (Sandbox Code Playgroud)
@Rectangle对象类型末尾的符号是什么,变量@之前的符号是什么pageBounds?
这是我需要修复的最后一行代码,以便再次编译这个可执行文件.
这是使用此语法的方法,我可以删除它吗?
protected override void OnPrintPage(PrintPageEventArgs e)
{
Application.DoEvents();
++this._pageNum;
float num1;
if (this.Header != null)
{
num1 = this.Header.CalculateHeight(this, e.Graphics);
this.Header.Draw(this, (float) e.MarginBounds.Top, e.Graphics, e.MarginBounds);
}
else
num1 = 0.0f;
float num2;
if (this.Footer != null)
{
num2 = this.Footer.CalculateHeight(this, e.Graphics);
this.Footer.Draw(this, (float) e.MarginBounds.Bottom - num2, e.Graphics, e.MarginBounds);
}
else
num2 = 0.0f; …Run Code Online (Sandbox Code Playgroud) 在后台线程中,我的应用程序会定期检查网络文件夹(UNC路径)以获取应用程序更新.它会读出文件的汇编版本,如下所示:
Try
newVers = System.Reflection.AssemblyName.GetAssemblyName("\\server\app.exe").Version
Catch ex As Exception
' ignore
End Try
Run Code Online (Sandbox Code Playgroud)
这段代码经常被执行,到目前为止我总共在多个客户站点猜测超过100.000次没有问题.
有时GetAssemblyName会引发a FileNotFoundException,例如万一网络文件夹无法访问(可能发生并且必须处理).这个异常被Catch下面的块捕获,一切正常.
然而,在三个报告的案例中,GetAssemblyName电话提出了一个SEHException.奇怪的是,这个异常并没有被Catch下面的块捕获,而是被我的全局未处理异常处理程序(System.AppDomain.CurrentDomain.UnhandledException)捕获.结果,应用程序崩溃.
这是异常细节(遗憾的是,我的错误处理例程没有记录异常的ErrorCode和CanResume字段):
Caught exception: System.Runtime.InteropServices.SEHException
Message: External component has thrown an exception.
Source: mscorlib
TargetSite: System.Reflection.AssemblyName nGetFileInformation(System.String)
StackTrace:
at System.Reflection.AssemblyName.nGetFileInformation(String s)
at System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile)
at SyncThread.Run()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart() …Run Code Online (Sandbox Code Playgroud) 我有一个大型数组,我想通过将它的片段交给几个异步任务来处理.作为概念证明,我编写了以下代码:
class TestParallelArrayProcessing {
let array: [Int]
var summary: [Int]
init() {
array = Array<Int>(count: 500000, repeatedValue: 0)
for i in 0 ..< 500000 {
array[i] = Int(arc4random_uniform(10))
}
summary = Array<Int>(count: 10, repeatedValue: 0)
}
func calcSummary() {
let group = dispatch_group_create()
let queue = dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0)
for i in 0 ..< 10 {
dispatch_group_async(group, queue, {
let base = i * 50000
for x in base ..< base + 50000 {
self.summary[i] += self.array[x]
}
})
}
dispatch_group_notify(group, …Run Code Online (Sandbox Code Playgroud) 我有一个交易数据框.每行代表两个项目的交易(将其视为2个事件票据或其他事务的交易).我想根据销售数量复制每一行.
这是示例代码:
# dictionary of transactions
d = {'1': ['20', 'NYC', '2'], '2': ['30', 'NYC', '2'], '3': ['5', 'NYC', '2'], \
'4': ['300', 'LA', '2'], '5': ['30', 'LA', '2'], '6': ['100', 'LA', '2']}
columns=['Price', 'City', 'Quantity']
# create dataframe and rename columns
df = pd.DataFrame.from_dict(data=d, orient='index')
df.columns = columns
Run Code Online (Sandbox Code Playgroud)
这会生成一个如下所示的数据框
Price City Quantity
20 NYC 2
30 NYC 2
5 NYC 2
300 LA 2
30 LA 2
100 LA 2
Run Code Online (Sandbox Code Playgroud)
因此,在上面的情况中,每行将转换为两个重复的行.如果'quantity'列为3,那么该行将转换为三个重复行.
我需要在执行进程期间获取内存和CPU使用率(该进程有时可以运行超过30分钟).与任务管理器的值相比,我能够获得可用RAM,但CPU使用率不正确.难道我做错了什么?这是我的代码:
class Program
{
static List<float> AvailableCPU = new List<float>();
static List<float> AvailableRAM = new List<float>();
protected static PerformanceCounter cpuCounter;
protected static PerformanceCounter ramCounter;
static void Main(string[] args)
{
cpuCounter = new PerformanceCounter();
cpuCounter.CategoryName = "Processor";
cpuCounter.CounterName = "% Processor Time";
cpuCounter.InstanceName = "_Total";
ramCounter = new PerformanceCounter("Memory", "Available MBytes");
try
{
System.Timers.Timer t = new System.Timers.Timer(1200);
t.Elapsed += new ElapsedEventHandler(TimerElapsed);
t.Start();
Thread.Sleep(10000);
}
catch (Exception e)
{
Console.WriteLine("catched exception");
}
Console.ReadLine();
}
public static void TimerElapsed(object source, ElapsedEventArgs e) …Run Code Online (Sandbox Code Playgroud) 我的Visual Studio 2015社区副本在尝试运行成功构建时冻结/变得无法响应,其他所有操作都正常运行.如果构建失败,VS将按预期运行,给出输出提示.
只有当Output指出构建成功时,IDE才会冻结而没有响应,甚至从Debug文件夹运行已编译的.exe会冻结Win Explorer.所有项目都是C++或C#.
操作系统:安装了Windows 10,IDE /套件:VS2015和Unity 5.2.1f1