小编sap*_*ket的帖子

如何下载Visual Studio Community Edition 2015(不是2017)

我有一个Resharper 9x许可证,它只与MS VS Community 2015版本兼容.我试图从微软下载2015版本,但他们的网站固执地希望我只有2017年.有人可以给我一个2015年版的网址吗?或者,解释如何浏览Microsoft的网站以获取2015版本?

解决方案更新

1)vs_community.exe是任何版本,2015,2017等的下载文件名.在单击.exe之后,您不会知道它是哪个版本.然后,您将在安装程序的标题中看到该版本.

2)有一个url技巧来获得你想要的版本.

https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15

...将rel = 15更改为rel = 17等

或者使用下面答案中提供的链接

visual-studio visual-studio-2015

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

NUnit Gui Runner去哪了?版本3.0.1

我刚刚从nunit 2.6.4升级到3.0.1版.它曾经有一个NUnit Gui Runner,位于这里:

在此输入图像描述

安装3.0.1后(我从这里下载了windows版本)

我现在不再在安装文件夹中看到nunit.exe,例如目录结构不同,并且似乎缺少许多以前安装的文件:

在此输入图像描述

nunit

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

我在哪里可以找到所有可用ChromeOption参数的列表?

我是阅读手册的大力倡导者.但在这种情况下,尽管在网上搜索了一段时间,但我找不到解释所有可用ChromeOptions参数的手册.某处必须列出所有字符串参数及其含义.

例如,以下是我通过示例绊倒发现的一些内容:

var options = new ChromeOptions();
options.AddArgument("incognito");
options.AddArguments("test-type");
Run Code Online (Sandbox Code Playgroud)

有人可以指导我上市吗?我正在使用C#4.6,Selenium 2.45.

c# selenium-chromedriver

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

如何在SQLite中有条件地插入或替换行?

我想插入或替换_on_condition.如果不满足条件,请勿插入或更换.这可能吗?

对于我的项目,我目前有两个数据收集过程.一个是快速但不能抓住一切.另一个是缓慢但捕获一切.通过快速流程,我几乎可以实时获取数据.由于速度慢,我在一天结束时使用批处理获取数据.

我的问题是:有时快速流程将"完成"一条记录(意味着它不再需要更新)在缓慢的流程之前,以及在夜间批处理过程中的当天晚些时候,"完整"记录将被替换为在慢速流程的批量数据中找到过时的"待定"记录.

我想要的是一个类似于这个伪代码的条件检查:

If(record_is_not_complete or does_not_exist) 
{ INSERT or REPLACE; }
Else 
{ do_nothing and move_to_the_next; }
Run Code Online (Sandbox Code Playgroud)

如果我从标准INSERT OR REPLACE示例开始:

INSERT OR REPLACE INTO UserProgress (id, status, level) 
  VALUES (1, 'COMPLETE', 5);
Run Code Online (Sandbox Code Playgroud)

哪个应该在UserProgress表中输入一行,条目为[1,COMPLETE,5].

如果发生以下情况:

INSERT OR REPLACE INTO UserProgress (id, status, level) 
  VALUES (1, 'PENDING', 4);
Run Code Online (Sandbox Code Playgroud)

我希望它跳过这个,因为已经有一个完整的记录.

我确定这是一个重复的问题.但它真的吗?这个问题有很多答案,我不确定哪种方法最好.看看我发现的所有这些例子:

我可以尝试添加一个CASE声明,我被告知它等同于一个IF-THEN-ELSE声明.正如本例中所做的那样.

我可以尝试使用SELECTCOALESCE声明VALUES.正如本例中所做的那样.

我甚至可以尝试使用一个SELECT WHERE声明.正如本例中所做的那样.

我可以尝试使用一个LEFT JOIN声明.正如本例中所做的那样.

这对SQLite来说很棒.似乎有多种方法可以为同一只猫皮肤涂抹.我是一个新手我现在很困惑.目前尚不清楚我应该使用哪种方法.

我正在寻找一个可以在一个sql语句中完成的解决方案.

*更新*

我找到了两个交易解决方案.我还在寻找单一的交易解决方案.

这有效,但使用两个事务: …

.net c# sql sqlite sql-update

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

ASP.NET Web Service在哪里进入.Net Framework 4.0?

打开Visual Studio 2010.单击文件 - >新建 - >网站...在打开的对话框窗口中,选择以下内容:.Net Framework 3.5.Web位置=文件系统.输入C#.

请注意,此列表中列出了"ASP.NET Web Service".

现在将框架切换到4.0.

请注意,未列出"ASP.NET Web服务".

任何人都可以了解微软的目标吗?这是否在4.0中重新命名为另一个名字?我是否应该使用4.0的新的whiz-bang技术,类似于ASP.NET Web Services?

.net c# web-services

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

返回类型T不能返回null?C#泛型

我有一个方法,通常从用户提供的文件路径和对象类型反序列化存储的对象.该方法工作正常,但用户提供无效文件路径时除外.我希望我的方法在这种情况下返回null,但是当我尝试返回null时,我得到一个编译错误.我试图使用可空类型,但得到编译错误.相反,我对一个对象进行类型转换并返回该对象,但它会导致运行时错误.我想知道是否有人知道允许返回null的正确方法.代码如下:

        public static T RestoreObj<T>(string datafile)
    {


        try
        {
            var fs = File.OpenRead(datafile);
            var bf = new BinaryFormatter();
            var obj = (T) bf.Deserialize(fs);
            fs.Close();
            return obj;
        }
        catch (Exception e)
        {
            MessageBox.Show("Could not load. Accepts valid *.dom files only. " + e);

            // TODO: how to do this? this will throw a runtime error, and if null returned, a compilation error
            var o = new object();
            return (T) o;
        }
    }
Run Code Online (Sandbox Code Playgroud)

在考虑了Eric Lippert的质量评论后,我修改了方法,看起来就像你在下面看到的那样.使用'using'的优点是它会自动生成一个try..finally块,它将调用dispose方法(FileStream实现IDisposable,如果不是它们将是一个编译错误).另一件好事是抛出的异常与实际发生的事情有关,而不是我上面所做的.

        public static T RestoreObj<T>(string datafile) 
    {
        using …
Run Code Online (Sandbox Code Playgroud)

c# generics nullable

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

如何在使用override void WriteEndElement()时使用XmlWriterSettings()?

我正在使用不导入缩写的空xml元素的遗留应用程序.例如:

坏空:

<foo />
Run Code Online (Sandbox Code Playgroud)

好空:

<foo></foo>
Run Code Online (Sandbox Code Playgroud)

我知道实现这一目标的解决方案,我现在将介绍:

public class XmlTextWriterFull : XmlTextWriter
{


    public XmlTextWriterFull(Stream stream, Encoding enc) : base(stream, enc)
    {
    }

    public XmlTextWriterFull(String str, Encoding enc) : base(str, enc) 
    {
    }

    public override void WriteEndElement()
    {
        base.WriteFullEndElement();
    }
}
Run Code Online (Sandbox Code Playgroud)

和客户端代码:

                    var x_settings = new XmlWriterSettings();
                    x_settings.NewLineChars = Environment.NewLine;
                    x_settings.NewLineOnAttributes = true;
                    x_settings.NewLineHandling = NewLineHandling.Replace;
                    x_settings.CloseOutput = true;
                    x_settings.Indent = true;
                    x_settings.NewLineOnAttributes = true;

                    //var memOut = new MemoryStream();
                    var writer = new XmlTextWriterFull(outputFilename, Encoding.UTF8); //Or the encoding of …
Run Code Online (Sandbox Code Playgroud)

c# xml serialization

10
推荐指数
1
解决办法
8311
查看次数

Visual Studio 2017如何启用/禁用ServiceHub.exe组件

如何禁用?

在下面的屏幕截图中,您可以看到所有以ServiceHub开头的六个进程.这些从我开始VS-2017 CE开始.令人讨厌的是,当我退出VS-2017 CE时,它们并没有停止.我想知道如何禁用它们,以便它们不会首先启动.

如何启用?

什么打开这些?

截图

在此输入图像描述

visual-studio visual-studio-2017

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

如何将Visual Studio调试选项重置为默认值?

在Visual Studio 2015社区中,如果单击Debug-> Options,我将获得以下可控选项:

在此输入图像描述

此外,在我单击Debug-> Windows-> Exception Settings后,我得到以下内容:

在此输入图像描述

我目前正在经历调试期间的市场步骤行为和其他奇怪行为 - 例如,一些例外被捕获而其他异常没有.

我宁愿只将所有上述选项重置为默认设置,而不是隔离特定选项并使其笨拙.但是,我没有看到如何实现这一目标.你能解释一下如何将它们重置为默认值吗?

visual-studio-2015

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

C#最小化窗口没有通过调用System.Diagnostics.Process.GetProcesses()返回

我正在尝试找到一个最小化的窗口并显示它.

该程序可以从三星下载,标题为"SideSync".要完全复制我的问题,您需要安装此问题并使用三星手机插入计算机.

以下是完全配置和运行的屏幕截图:

在此输入图像描述

观察到有两个窗口,A和B.我使用一个名为Microsoft Inspect的工具来确定两个程序窗口是正常的窗口.他们没有孩子的父母关系.但是,当我启动SideSync时,只显示窗口A. 然后我必须单击"电话屏幕",然后出现窗口B(除了窗口A).这可能是解决这个问题的线索吗?我们会看到.

以下是Microsoft Inspect中出现的两个窗口:

在此输入图像描述

两个窗口都有窗口标题.使用下面的代码我可以检索Process窗口(这是我的目标).

服务器代码:

public static Process GetProcessByWindowTitle(string windowTitleContains)
{
    foreach (var windowProcess in GetWindowProcesses())
        if (windowProcess.MainWindowTitle.Contains(windowTitleContains))
            return windowProcess;

    return null;
}
Run Code Online (Sandbox Code Playgroud)

然而,一些奇怪的行为正在发生.GetProcessByWindowTitle()将返回一个但不是两个进程.我假设因为有两个窗口必须有两个进程.

Process则返回依赖于这是我和我的鼠标点击最后一个窗口.

例如,如果我上次点击了窗口A; 然后GetProcessByWindowTitle("SideSync")将返回Process,但随后GetProcessByWindowTitle("SAMSUNG")将返回void.

...反之亦然,如果我上次点击窗口B,GetProcessByWindowTitle("SideSync")将返回一个void,但随后GetProcessByWindowTitle("SAMSUNG")将返回Process.

客户代码:

[Ignore("Requires starting SideSync and clicking one of the windows. Only the last clicked will return a Process.")]
[Test]
public void NonMinimizedWindowProcessIsDetected()
{

    Process p1 …
Run Code Online (Sandbox Code Playgroud)

c# windows user32

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