小编hus*_*int的帖子

强制nunit控制台运行程序使用CLR 4.5

我有以下简单的测试用例:

var uri = new Uri("http://foo.com/bar%2Fbaz");
Assert.AreEqual("http://foo.com/bar%2Fbaz", uri.AbsoluteUri);
Run Code Online (Sandbox Code Playgroud)

这个测试在.NET 4上失败但是传递了.NET 4.5,我可以使用ReSharper测试运行器测试它,它提供了一个方便的CLR选择菜单.

但是,如果我使用nunit console runner运行此测试,如下所示:

nunit-console.exe /framework:4.5"C:\ Data\Projects\UriTest\bin\Debug\UriTest.dll"

我的测试失败了.我甚至修改了nunit-console.exe.config并添加了这个:

<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
Run Code Online (Sandbox Code Playgroud)

添加之后,我开始从跑步者那里得到这个输出:

Runtime Environment -
   OS Version: Microsoft Windows NT 6.2.9200.0
  CLR Version: 4.0.30319.34209 ( Net 4.5 )

ProcessModel: Default    DomainUsage: Single
Execution Runtime: v4.5
Run Code Online (Sandbox Code Playgroud)

但我的测试仍然失败了.知道为什么会这样吗?

nunit unit-testing test-runner

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

使用React创建的表单不会更新支持状态对象

我正在尝试自动化Instagram网络应用程序的登录表单:

https://instagram.com/accounts/login/

使用以下代码(您可以在Chrome控制台上运行它):

var frm = window.frames[1].document.forms[0];
frm.elements[0].value = 'qacitester';
frm.elements[1].value = 'qatester';
frm.elements[2].click();
Run Code Online (Sandbox Code Playgroud)

即使填充了输入,当我监视XHR请求时,我看到这是发布的:

用户名=&密码=&意图=

而不是这个:

用户名= qacitester&密码= qatester&意图=

并导致Web应用程序无法进行身份验证.你知道为什么输入值没有转移到React的支持状态(模型?)对象吗?

javascript reactjs

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

跨版本序列化和反序列化.net对象的最佳实践

使用.NET XML序列化程序将对象序列化到数据库.对象可以随时间变化,因此数据库中一次存在多个版本.

有关构建代码的最佳方法的任何建议,以便您仍然可以将此对象反序列化为最新版本.(接口/地图/手动序列化等)

.net xml serialization object

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

在 Windows 上显示密码文本框控件

Windows 中是否有任何 API 可以将密码文本框变成这样的:

在此处输入图片说明

这样用户就可以在按下文本框旁边的眼睛图标的同时显示密码一秒钟。您知道我可以从 WinForms 应用程序调用的任何 P/Invoke 之类的 API 存在吗?

passwords textbox winforms

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

XML序列化期间缺少SecurityProtocolType.Ssl3枚举值

我有以下简单的XML可序列化类型:

[XmlType]
public class TestType
{
    public System.Net.SecurityProtocolType ProtocolType { get; set; }
}

var instanceToSerialize = new TestType { ProtocolType = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 };
Run Code Online (Sandbox Code Playgroud)

我可以在我的计算机和几台计算机上很好地序列化这个对象的实例.但是在我测试的其中一台计算机上,我遇到以下异常:

System.InvalidOperationException: There was an error generating the XML document. ---> System.InvalidOperationException: Instance validation error: '4080' is not a valid value for System.Net.SecurityProtocolType.
at System.Xml.Serialization.XmlCustomFormatter.FromEnum(Int64 val, String[] vals, Int64[] ids, String typeName)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterTestType.Write1_SecurityProtocolType(SecurityProtocolType v)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterTestType.Write3_TestType(String n, String ns, TestType o, Boolean isNullable, Boolean needType)
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterTestType.Write4_TestType(Object o)
Run Code Online (Sandbox Code Playgroud)

我已经比较了 …

.net c# enums sgen xml-serialization

5
推荐指数
0
解决办法
573
查看次数

将UserControl的依赖属性值传递给其中的Control

我有一个UserControl(复合控件),可以显示为以下伪XAML代码:

<UserControl>
  <DockPanel>
    <TextBox />
    <Button />
  </DockPanel>
</UserControl>
Run Code Online (Sandbox Code Playgroud)

我在一堆地方使用这个自定义控件,并使用WPF样式设置其中一些.此样式将UserControl的Background属性设置为颜色.但是这个背景颜色是在UserControl的背景表面上绘制的,但我希望它只在TextBox控件的背景上绘制.这就是我得到的(颜色=红色):

替代文字http://img261.imageshack.us/img261/8600/62858047wi3.png

如果我将UserControl的Background属性绑定到我的TextBox控件的background属性,我得到以下一个:

替代文字http://img111.imageshack.us/img111/1637/30765795kw5.png

现在它还绘制了内部TextBox控件的背景,但UserControl的Background颜色仍然存在.有没有办法删除UserControl的背景画?

data-binding wpf user-controls

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

使用C#在Windows 7中模拟鼠标单击和鼠标移动

我已经编写了一段代码来模拟鼠标点击,这在我的Vista中运行良好.但是当我在Windows 7中测试它时,它没有生成click事件.有人可以帮忙吗?我正在添加下面的代码段.谢谢,Nikil

[DllImport("user32.dll")]
        static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);


[Flags]
        public enum MouseEventFlags
        {
            LEFTDOWN = 0x00000002,
            LEFTUP = 0x00000004,
            MIDDLEDOWN = 0x00000020,
            MIDDLEUP = 0x00000040,
            MOVE = 0x00000001,
            ABSOLUTE = 0x00008000,
            RIGHTDOWN = 0x00000008,
            RIGHTUP = 0x00000010
        }

System.Windows.Forms.Cursor.Hide();
System.Windows.Forms.Cursor.Position = new System.Drawing.Point(xinc + rct.Left, yinc + rct.Top);

int X = System.Windows.Forms.Cursor.Position.X;
int y = System.Windows.Forms.Cursor.Position.Y;

mouse_event((int)(MouseEventFlags.LEFTDOWN), 0, 0, 0, 0);
mouse_event((int)(MouseEventFlags.LEFTUP), 0, 0, 0, 0);


System.Windows.Forms.Cursor.Position = new System.Drawing.Point(0, 0);
System.Windows.Forms.Cursor.Show();
Run Code Online (Sandbox Code Playgroud)

.net c# winforms

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