小编Wai*_*Lee的帖子

如何使用REST API在TFS 2015中触发构建

我在本地安装了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吗?

c# rest tfs

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

我的C#项目中的循环引用

我有以下情况:

  1. 一个项目MyCompany.MyProject.Domain包含我的域模型,以及部分类(如Contact).

  2. 我希望'扩展'(通过部分类,而不是扩展方法)我的Contact类具有一个属性Slug,它将为我提供一个简单的URL友好文本表示的名字和姓氏.

  3. 我有一个字符串扩展方法ToSlug()在我Utility的项目MyCompany.MyProject.Utilities这不正是我想要2).

  4. 问题:我的Utility项目已经引用了我的Domain项目,这意味着我无法让Domain项目看到Utility项目的ToSlug()方法而不会导致循环引用.

我并不热衷于创建另一个项目来解决这个问题,我真的希望保持Slug逻辑共享.

我怎么解决这个问题?

c# circular-dependency

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

垃圾收集和终结器:更好的点

在回答关于SO的另一个问题*以及随后的评论讨论时,我遇到了一个我不清楚的问题.

在我误入歧途的任何地方纠正我......

当垃圾收集器收集一个对象时,它会在一个单独的线程上调用该对象的终结器(除非终结器已经被抑制,例如通过一个Dispose()方法).在收集时,GC会挂起除触发集合的线程(除了背景集合)之外的所有线程.

不清楚的是:

  1. 在收集垃圾收集器之前,垃圾收集器是否等待终结器在该对象上执行?
  2. 如果没有,它是否在终结器仍在执行时取消挂起线程?
  3. 如果它确实等待,如果终结器遇到其中一个被挂起的线程所持有的锁,会发生什么?终结器线程是否会死锁?(在我的回答中,我认为这是糟糕的设计,但我可能会看到可能发生这种情况的情况)

*链接到原始问题:
.NET GC从终结器访问同步对象

c# garbage-collection finalizer

12
推荐指数
1
解决办法
7600
查看次数

从WPF窗口获取System.Windows.Forms.IWin32Window

我正在写一个WPF应用程序,我想使用这个库.

我可以IntPtr通过使用获得一个窗口

new WindowInteropHelper(this).Handle
Run Code Online (Sandbox Code Playgroud)

但这不会转换System.Windows.Forms.IWin32Window为我需要显示此WinForms对话框.

我该如何投IntPtrSystem.Windows.Forms.IWin32Window

c# wpf winforms

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

对象类型末尾的&符号是什么?

我不得不重新编译一些代码,我不知道这个语法是什么?你们可以帮忙,还是指点一下这是什么意思?我用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)

c# reflector decompiling

12
推荐指数
1
解决办法
4494
查看次数

SEHException未被Try/Catch捕获

在后台线程中,我的应用程序会定期检查网络文件夹(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)捕获.结果,应用程序崩溃.

这是异常细节(遗憾的是,我的错误处理例程没有记录异常的ErrorCodeCanResume字段):

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)

.net vb.net exception seh

12
推荐指数
1
解决办法
7261
查看次数

使用GCD并行处理数组

我有一个大型数组,我想通过将它的片段交给几个异步任务来处理.作为概念证明,我编写了以下代码:

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)

parallel-processing grand-central-dispatch swift

12
推荐指数
1
解决办法
2158
查看次数

基于不同列中的值重复行

我有一个交易数据框.每行代表两个项目的交易(将其视为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,那么该行将转换为三个重复行.

python pandas

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

获取CPU和RAM使用率

我需要在执行进程期间获取内存和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)

c# system.diagnostics cpu-usage

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

完成构建后,Visual Studio 2015会冻结

我的Visual Studio 2015社区副本在尝试运行成功构建时冻结/变得无法响应,其他所有操作都正常运行.如果构建失败,VS将按预期运行,给出输出提示.

只有当Output指出构建成功时,IDE才会冻结而没有响应,甚至从Debug文件夹运行已编译的.exe会冻结Win Explorer.所有项目都是C++或C#.

操作系统:安装了Windows 10,IDE /套件:VS2015和Unity 5.2.1f1

c# c++ freeze visual-studio-2015

12
推荐指数
1
解决办法
5980
查看次数