小编Wim*_*nen的帖子

是否有人成功使用免费注册COM与.NET组件?

直到最近,我们还很高兴地使用免注册COM作为我们的原生和.NET COM组件.然而,我们遇到了一个奇怪的问题,我们的应用程序开始在Windows XP SP3上随机崩溃(但不是在Vista上),因为我们只更改了.NET程序集的版本号以从候选版本迁移到发布版本.(难道你不讨厌墨菲定律吗?)

经过多次失败的人工和磨牙之后,我们发现问题是sxs.dll中的一个已知错误,它在检索有关.NET类的信息时会导致堆损坏.有一个热修复使问题消失,但热修复不打算重新分配.

我们有点难过在免注册COM实现中存在这样一个可怕的错误.是否有人成功使用免注册COM for .NET组件?你是怎么解决这个问题的?

.net com winsxs sxs regfreecom

21
推荐指数
1
解决办法
3783
查看次数

使用pscp并获得权限被拒绝

我正在使用pscp使用此命令将文件传输到虚拟ubuntu服务器:

pscp test.php user@server:/var/www/test.php
Run Code Online (Sandbox Code Playgroud)

我得到了错误权限被拒绝.如果我尝试转移到文件夹/ home/user /我没有问题.

我想这与我正在使用的用户无法访问文件夹/ var/www /有关.当我使用SSH时,我必须使用sudo来访问/ var/www/path - 我这样做.

是否可以指定pscp应该"sudo"传输到服务器,以便我可以访问/ var/www/path并实际上能够将文件传输到此文件夹?

permissions ubuntu sudo putty

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

为什么这段代码没有unsafe关键字?

回答他自己有争议的问题时,Mash已经说明你不需要"unsafe"关键字直接读写任何.NET对象实例的字节.您可以声明以下类型:

   [StructLayout(LayoutKind.Explicit)]
   struct MemoryAccess
   {

      [FieldOffset(0)]
      public object Object;

      [FieldOffset(0)]
      public TopBytes Bytes;
   }

   class TopBytes
   {
      public byte b0;
      public byte b1;
      public byte b2;
      public byte b3;
      public byte b4;
      public byte b5;
      public byte b6;
      public byte b7;
      public byte b8;
      public byte b9;
      public byte b10;
      public byte b11;
      public byte b12;
      public byte b13;
      public byte b14;
      public byte b15;
   }
Run Code Online (Sandbox Code Playgroud)

然后你可以做一些事情,比如改变一个"不可变"的字符串.以下代码在我的机器上打印"bar":

 string foo = "foo";
 MemoryAccess mem = …
Run Code Online (Sandbox Code Playgroud)

.net c# unsafe

19
推荐指数
2
解决办法
1480
查看次数

我们可以加快沙堡的速度吗?

我们利用沙塔(和SHFB)来从内联XML注释类库文件.这是一个很好的工具,可以保持完整和专业的参考+概述文档,包括正确的代码示例.

不幸的是,这也是狗的慢.这是迄今为止我们自动构建中最耗时的步骤,它开始受到伤害.有没有办法加快速度?

.net sandcastle

18
推荐指数
2
解决办法
2264
查看次数

XDocument构造函数的意外异常

这很好用:

XDocument xdoc = new XDocument(
   new XDeclaration("1.1", "UTF-8", "yes"),
   new XProcessingInstruction("foo", "bar"),
   new XElement("test"));
Run Code Online (Sandbox Code Playgroud)

但是,如果我将其更改为将"params数组"显式传递为数组:

object[] content = new object[] {
   new XDeclaration("1.1", "UTF-8", "yes"),
   new XProcessingInstruction("foo", "bar"),
   new XElement("test")
};
xdoc = new XDocument(content);
Run Code Online (Sandbox Code Playgroud)

它失败了:

System.ArgumentException:无法将非空白字符添加到内容中.

这两个例子不完全相同吗?这里发生了什么?

.net c# linq-to-xml

17
推荐指数
2
解决办法
9724
查看次数

在C#中实现安全的duck-typing

在看了Go如何处理界面并喜欢它之后,我开始考虑如何在C#中实现类似的鸭子类型:

var mallard = new Mallard(); // doesn't implement IDuck but has the right methods
IDuck duck = DuckTyper.Adapt<Mallard,IDuck>(mallard);
Run Code Online (Sandbox Code Playgroud)

DuckTyper.Adapt方法将用于动态System.Reflection.Emit构建适配器.也许有人已经写过这样的东西了.我想它与模拟框架已经做的并没有太大的不同.

但是,如果Mallard实际上没有正确的IDuck方法,这将在运行时抛出异常.为了在编译时更早地得到错误,我必须编写一个MallardToDuckAdapter我正在努力避免的错误.

有没有更好的办法?

编辑:显然,我称之为"安全鸭子打字"的正确术语是结构打字.

c# duck-typing adapter

17
推荐指数
2
解决办法
2114
查看次数

C#:将初始DayOfWeek设置为星期一而不是星期日

有没有办法将第一个DayOfWeek设置为星期一= 0而不是星期日?

(int)dateList[0].DayOfWeek == 0) // 0 = Sunday
Run Code Online (Sandbox Code Playgroud)

c# dayofweek

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

JQuery - 不是第一个

我怎么能说..

On Click .not.first() div
alert('Yeah you clicked a div which is not the first one!');
Run Code Online (Sandbox Code Playgroud)

我的实际代码:

this.$('thumbnails').children().click(function() {

                $('#video').animate({width: 164, height: 20, top: 475, marginLeft: 262},0)

       $('.flv').animate({left: 2222, opacity: '0'},0).css('display', 'none')
        $('.close').animate({opacity: '0'},0)
                clicked = 0

            });
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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

从GWT修改样式

我执行但只有FF和chrome从顶部移动textarea 0px,从左移动0px但在IE textarea中处于默认位置.

这是我的代码:

public class MyGWT implements EntryPoint {

   TextArea ta= TextArea.wrap(DOM.getElementById("t"));

   public void onModuleLoad() {

     ta.getElement().setAttribute("style", "position:absolute;top:0px;left:0px;");
   }

}
Run Code Online (Sandbox Code Playgroud)

是否有任何错误或如何从GWT以编程方式更改样式属性?

gwt

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

我可以使用mercurial恢复文件中的一系列行吗?

当我在提交之前检查我的工作副本(使用hg statushg diff)时,我经常会注意到一些不必要的更改.例如,我可能在调试会话期间暂时添加或删除了一些代码.

我知道我可以hg revert用来删除不需要的更改,但这会删除整个文件中的所有更改.有没有办法恢复文件的一部分?

mercurial

16
推荐指数
4
解决办法
2445
查看次数