小编Ken*_*enn的帖子

Visual Studio 2010插件 - 将上下文菜单添加到解决方案资源管理器中

我想在Visual Studio 2010的解决方案资源管理器的特定文件类型的上下文菜单中添加一个新选项.因此,例如,右键单击*.cs文件将显示现有的上下文菜单以及"我的新选项".

我想知道代码会是什么样的; 并且喜欢指向开发visual studio插件的良好参考指针.我看到的教程/参考文章非常可怕.

谢谢!

c# plugins visual-studio-2010 visual-studio

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

使用C#进行内存转储

我有一个System.Diagnostics.Process对象.我的C#程序正在监视某些情况.当条件被命中时,我想要获取进程的完整内存转储.

实现这一目标的最佳方法是什么?

有没有CLR提供的方法?

c# memory-dump

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

没有XmlInclude的序列化

我正在反序列化一个名为Method.NET Serialization 的类.Method包含实现的对象列表IAction.我最初使用该[XmlInclude]属性来指定实现的所有类IAction.

但是现在,我想改变我的程序来加载目录中的所有dll并删除实现的类IAction.然后,用户可以反序列化包含其实施的操作的文件IAction.

我不再控制实现的类IAction,因此我无法使用[XmlInclude].

有没有办法在运行时设置此属性?或者为实现类设置了类似的属性?

public class Method
{
    public List<Actions.IAction> Actions = new List<Actions.IAction>();
}

public interface IAction
{
    void DoExecute();
}

public static Type[] LoadActionPlugins(string pluginDirectoryPath)
{
    List<Type> pluginTypes = new List<Type>();

    string[] filesInDirectory = Directory.GetFiles(pluginDirectoryPath, "*.dll", SearchOption.TopDirectoryOnly);
    foreach (string pluginPath in filesInDirectory)
    {
        System.Reflection.Assembly actionPlugin = System.Reflection.Assembly.LoadFrom(pluginPath);
        Type[] assemblyTypes = actionPlugin.GetTypes();
        foreach (Type type in assemblyTypes)
        {
            Type …
Run Code Online (Sandbox Code Playgroud)

c# xml reflection serialization

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

XUL的WYSIWYG编辑器

任何人都可以为XUL推荐一个好的图形WYSIWYG编辑器吗?

wysiwyg xul

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

绘制Web图

我正在尝试在ASP网页上绘制图表.我希望API可以提供帮助,但到目前为止我还没有找到它.

该图包含标记的节点和未标记的有向边.理想的输出就是这样的.

任何人都知道预先建造的东西比可以帮助吗?

asp.net api visualization graph-theory

9
推荐指数
1
解决办法
3990
查看次数

使用Windows Azure Service Bus进行邮件路由

我需要花几个小时来了解Azure Service Bus架构.我特别想知道这种排队技术是否可用于支持消息路由 - 类似于RabbitMQ的路由功能. http://www.rabbitmq.com/tutorials/tutorial-four-python.html

我们将使用直接交换.直接交换背后的路由算法很简单 - 消息进入队列,其绑定密钥与消息的路由密钥完全匹配.

在此设置中,我们可以看到直接交换X与两个绑定到它的队列.第一个队列绑定橙色绑定,第二个绑定有两个绑定,一个绑定密钥为黑色,另一个绑定为绿色.

在这样的设置中,使用路由密钥orange发布到交换机的消息将被路由到队列Q1.路由键为黑色或绿色的消息将转到Q2.所有其他消息将被丢弃.

寻找对服务总线体系结构有深刻理解的人,以推荐实现此类队列的最佳向量.

message-queue azure azureservicebus

8
推荐指数
1
解决办法
2574
查看次数

在C#中重定向包含伪loc(unicode)字符串的ConsoleOutput

我正在运行一个控制台应用程序(myApp.exe),它将一个伪本地化(unicode)字符串输出到标准输出.如果我在常规命令提示符(cmd.exe)中运行此命令,则unicode数据将丢失.如果我在unicode命令提示符(cmd.exe/u)中运行它或将控制台的属性设置为"Lucida Console",则会保留unicode字符串.

我想在C#中运行此应用程序并将unicode字符串重定向到本地变量.我正在使用RedirectStandardOutput = true的Process对象,但unicode字符串总是丢失.

如何指定保留此unicode信息?

        private static int RunDISM(string Args, out string ConsoleOutput)
        {
            Process process = new Process();
            process.StartInfo.FileName = "myApp.exe";
            process.StartInfo.Arguments = Args;

            try
            {
                process.StartInfo.CreateNoWindow = true;
                process.StartInfo.UseShellExecute = false;
                process.StartInfo.RedirectStandardOutput = true;
                process.StartInfo.WorkingDirectory = Environment.CurrentDirectory;

                process.Start();
                process.WaitForExit(Int32.MaxValue);
            }
            catch (Exception e)
            {
                WEX.Logging.Interop.Log.Assert("Failure while starting or running process.\nERROR: " + e.Message);
                ConsoleOutput = null;
                return EXITCODE_ERROR;
            }

            ConsoleOutput = process.StandardOutput.ReadToEnd();
            return process.ExitCode;
        } 
Run Code Online (Sandbox Code Playgroud)

c# unicode console command-line process

5
推荐指数
1
解决办法
2777
查看次数

扩展Microsoft.VisualStudio.TestTools.DataSource.XML

我正在使用C#VS2008中的Xml数据源编写数据驱动的单元测试.

属性看起来像这样,一切都很棒.

    [DeploymentItem("HtmlSchemaUrls.xml")]
    [DataSource("DataSource", "Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\HtmlSchemaUrls.xml", Microsoft.VisualStudio.TestTools.WebTesting.DataBindingAccessMethod.Sequential, "URL")]
    [DataBinding("DataSource", "URL", "URL_Text", "DataSource.URL.URL_Text")]
    [TestMethod]
Run Code Online (Sandbox Code Playgroud)

我想扩展Microsoft.VisualStudio.TestTools.DataSource.XML数据源的功能,最好通过App.config进行配置.例如,一个bool,当我运行Xml文件中的所有行时为true,而当为false时,我只运行一个.

我不想在测试用例本身中执行此检查 - 我有1000个具有此要求的测试用例.

任何有关如何实现这一目标的指导都将非常受欢迎.

c# xml datasource data-driven-tests

5
推荐指数
1
解决办法
2679
查看次数

逆向工程String.GetHashCode

String.GetHashCode的行为取决于程序架构.因此它将在x86中返回一个值,在x64上返回一个值.我有一个必须在x86中运行的测试应用程序,它必须预测必须在x64上运行的应用程序的哈希码输出.

下面是mscorwks中String.GetHashCode实现的反汇编.

public override unsafe int GetHashCode()
{
      fixed (char* text1 = ((char*) this))
      {
            char* chPtr1 = text1;
            int num1 = 0x15051505;
            int num2 = num1;
            int* numPtr1 = (int*) chPtr1;
            for (int num3 = this.Length; num3 > 0; num3 -= 4)
            {
                  num1 = (((num1 << 5) + num1) + (num1 >? 0x1b)) ^ numPtr1[0];
                  if (num3 <= 2)
                  {
                        break;
                  }
                  num2 = (((num2 << 5) + num2) + (num2 >> 0x1b)) ^ numPtr1[1];
                  numPtr1 += 2; …
Run Code Online (Sandbox Code Playgroud)

c# gethashcode

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

读取注册表项的性能?

我想知道从Windows注册表通过标准C#库读取注册表值需要多长时间(以毫秒为单位).在这种情况下,我正在阅读一些代理设置.

我应该期望什么数量级的值?有没有好的基准数据?

我正在运行WS2k8 R2 amd64.加分:OS sku /版本对此措施有多大影响?

 using (RegistryKey registryKey = Registry.CurrentUser.OpenSubKey(@"Software/Copium")) 
 { 
      return (string)registryKey.GetValue("BinDir"); 
 } 
Run Code Online (Sandbox Code Playgroud)

registry performance

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

System.Globalization.RegionInfo 有效区域性输入的完整列表

我有一个从外部来源获取的 ISO 3166 两个字母国家/地区代码列表。对于每个,我创建

     new System.Globalization.RegionInfo(countryCode) 
Run Code Online (Sandbox Code Playgroud)

有时,其中一个无效,导致出现 ArgumentException“不支持区域性名称 'xx'”。

我想要一个函数来确定国家/地区代码在将其传递给构造函数之前是否有效。这是我的尝试:

    private bool IsCultureValid(string cultureName)
    {
        return CultureInfo.GetCultures(CultureTypes.AllCultures)
            .Any(c => c.Name.Equals(cultureName, StringComparison.InvariantCultureIgnoreCase));
    }
Run Code Online (Sandbox Code Playgroud)

该函数对许多输入返回假阴性(函数返回 false,但如果我尝试,我可以使用该输入创建一个 RegionInfo 对象)。一些输入:

  • zw(津巴布韦)
  • 澳大利亚(澳大利亚)
  • MX(墨西哥)
  • ve(委内瑞拉玻利瓦尔共和国)
  • hn(洪都拉斯)
  • 千瓦(科威特)

我缺少什么?这里有更好的方法吗?提前致谢!

c# iso cultureinfo region

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