小编Nev*_*ind的帖子

Visual Studio在构建时锁定输出文件

我在VS 2010中有一个简单的WinForms解决方案.每当我构建它时,输出文件(bin\debug\app.exe)最终被锁定,后续构建失败,并显示一条消息 "The process cannot access the file 'bin\Debug\app.exe' because it is being used by another process." .构建项目的唯一方法是重新启动VS之后每一个构建,都非常尴尬.

我发现这篇旧博客帖子http://blogs.geekdojo.net/brian/archive/2006/02/17/VS2005FileLocking.aspx - 似乎这个问题真的很老了.有谁知道这里发生了什么,或者至少有一些解决方法?

更新

我实际上并没有运行该文件.锁定发生在构建之后,而不是在调试之后(即启动VS - 构建 - 构建 - 失败!)并且我尝试关闭防病毒软件.它没有帮助.

更新2

Process Explorer显示已加载文件的devenv.exe(在DLL中,而不在Handles中).看起来构建期间的一些故障阻止了卸载,但是(第一个)构建完成时没有任何消息,然后"1成功,o失败"/

visual-studio

79
推荐指数
4
解决办法
3万
查看次数

"CLR LocksAndThreads"性能计数器实际意味着什么

我读到了锁和线程性能计数器,但我仍然不明白它们中的一些实际意味着什么.我特别谈论队列长度争用率计数器,以及它们的每秒对应数.MSDN表示首先显示等待锁定的线程数,第二个显示获取锁定"未成功"的线程数.我以为如果一个线程正在等待一个锁,这意味着没有获得锁,但显然我错了?

假设我有这个示例程序:

static void Main(string[] args)
{
    var t1 = new Thread(RunThread1);
    var t2 = new Thread(RunThread2);
    t1.Start();
    t2.Start();
    t1.Join();
    t2.Join();
}

static void RunThread1()
{
    Thread.Sleep(1000);
    // this lock is acquired immediately. What will counters show at this moment?
    // probably both will be zero?
    lock (m_Lock)
    {
        Thread.Sleep(10000);
    }
}

static void RunThread2()
{
    Thread.Sleep(2000);
    // this lock has to wait for about 9 seconds. What will counters show?
    lock (m_Lock)
    { …
Run Code Online (Sandbox Code Playgroud)

.net multithreading performancecounter

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

List <T>.排序错误的排序

我有一个对象列表,其中一些可以为null.我希望它按一些属性排序,nulls在列表的末尾.然而,无论比较器返回什么,List<T>.Sort()方法似乎都将nulls放在开头.这是我用来测试这个的一个小程序:

class Program
 {
  class Foo {
   public int Bar;
   public Foo(int bar)
   {
    Bar = bar;
   }
  }
  static void Main(string[] args)
  {
   List<Foo> list = new List<Foo>{null, new Foo(1), new Foo(3), null, new Foo(100)};

   foreach (var foo in list)
   {
     Console.WriteLine("Foo: {0}", foo==null?"NULL":foo.Bar.ToString());
   }

   Console.WriteLine("Sorting:");
   list.Sort(new Comparer());
   foreach (var foo in list)
   {
    Console.WriteLine("Foo: {0}", foo == null ? "NULL" : foo.Bar.ToString());
   }
   Console.ReadKey();
  }
  class Comparer:IComparer<Foo>
  {
   #region Implementation of IComparer<in …
Run Code Online (Sandbox Code Playgroud)

c# sorting list

3
推荐指数
2
解决办法
2582
查看次数

如何用端盖拉伸(而不是平铺)UIImage

我在界面中有一些图像,里面有边框和一些背景.有点像这样:

图片示例

我想拉伸它们,保持边界完整.该resizableImageWithCapInsets方法似乎应该工作,但它平铺图像的内部部分.这不是我想要的.我可以以某种方式使它拉伸图像的内部部分?

objective-c uiimage ios

0
推荐指数
1
解决办法
417
查看次数