草庐IT

控制权

全部标签

c# - (Console.BufferHeight) 我无法使用 Console.WriteLine 看到/滚动查看所有控制台输出

当我运行这段代码时,输​​出窗口顶部的数字是99701。为什么我一直看不到1?我实际上看到所有数字都在输出,但在控制台窗口上,我只能滚动到足以看到99701的高度(我猜)。我在VistaHome上使用VisualC#express。:DusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Text.RegularExpressions;usingutilities;namespaceTesting_Project{classProgram{staticvoidM

c# - 从 MSTest Runner 或控制台应用程序的调试器下使用 PortableClassLibrary 类中的 ConfiguredTaskAwaitable 有什么问题?

注意:这只是一个调试时错误,但却是一个非常奇怪的错误。问题:在附加调试器的情况下运行并调用方法时,暴露在单独的可移植库中,返回ConfiguredTaskAwaitable,我们得到InvalidProgramException.重现它:有2个项目:PortableClassLibrary(支持.Net4.5;Windows应用商店;WindowsPhone8)有1个类:publicclassWeird{publicstaticConfiguredTaskAwaitableGetConfiguredTaskAwaitable(){returnnewConfiguredTaskAwait

c# - C# 中的序列化和对象版本控制

如果我想序列化一个对象,我必须使用[Serializable]属性,所有成员变量都将写入文件。我不知道如何进行版本控制,例如如果我添加一个新的成员变量(重命名一个变量或只是删除一个变量)然后我打开(反序列化)文件我如何确定对象/文件版本以便我可以正确设置新成员或进行某种迁移?我如何确定变量是否在加载期间被初始化(被解串器忽略)。我知道有版本容错方法,我可以用[OptionalField(VersionAdded=1)]属性标记变量。如果我打开一个旧文件,框架将忽略这个可选的(新变量)并且它只是零/空。但是我又如何确定变量是通过加载初始化还是被忽略了。我可以将类/对象版本号写入流。使用I

c# - 支持 https 的 Owin 自托管控制台应用程序(无 Web API,无 SignalR)

借助SslStream和套接字,我从头开发了一个https网络服务器。我可以从C#代码向流应用证书并处理请求。但是,我不知道如何与Owin一起做这件事。有谁知道如何将证书绑定(bind)到自托管控制台应用程序?示例://BindthebelowcertificatetoOwinhostvarcertificate=newX509Certificate2("server.pfx","password");详情请引用下面已有的Owin主机代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.T

c# - 使用 Task.Run() 写入控制台失败

我的一位同事发现我们的代码存在问题,花了一段时间才查明到底发生了什么,但这个简单的例子可以最好地证明这一点://FailsclassProgram{staticvoidMain(string[]args){Task.Run(()=>Console.WriteLine("HelloWorld"));Console.ReadKey();}}//WorksfineclassProgram{staticvoidMain(string[]args){Console.Write(String.Empty);Task.Run(()=>Console.WriteLine("HelloWorld"));

c# - 不同的 DLL,但在控制台应用程序和网站中应该相同

我有一个控制台应用程序和网站使用相同的System.Runtime.Serialization.Primitives.dll程序集。但是,当我运行该网站时,我的程序集是右边那个,但是如果我运行安慰应用程序,该网站的DLL变成了左边那个并导致错误。这两个项目都是v4.7,在我将所有项目升级到该框架后开始出现这种情况。两个项目都有这个 最佳答案 通过对相同DLL的不同引用来解决此问题的方法:第1步:在VisualStudio2015上创建一个新的网络应用第2步:检查问题是否仍然存在于这个新的网络应用程序项目中。如果答案是否并且问题不再存

c# - 控制台应用程序的 IOC?

谁能想到一个好的解决方案来将IOC放入控制台应用程序中?目前我们只是使用一个带有以下方法的静态类:publicstaticTResolve(){returndependencyResolver.Resolve();}我希望体验是无缝的,但想不出从控制台应用程序实现这一点的方法。 最佳答案 您必须在某处调用服务定位器(Resolve())。诀窍是让它尽可能远离。对于控制台应用程序,此引导发生在Main()中方法。在那里做,并尽量减少其他地方的Resolve调用,你会很棒。对于大多数依赖项,使用构造函数注入(inject)。

c# - 如何处理来自控制台应用程序的 COM 事件?

我正在使用来自第三方库的COM对象来生成周期性事件。当我从Winforms应用程序使用库时,将对象作为类成员并在主窗体线程中创建它,一切正常。但是,如果我从另一个线程创建对象,我不会收到任何事件。我的猜测是我需要在用于创建对象的同一个线程中有某种事件循环。我需要从控制台应用程序使用这个对象。我想我可以使用Application.DoEvents,但我不想在控制台应用程序中包含Winforms命名空间。我该如何解决这个问题?更新3(2011-06-15):商家终于回复了。简而言之,他们说Application.Run创建的消息泵与Thread.Join创建的消息泵之间存在一些差异,但他们

c# - 为什么不控制更新/刷新中间过程

我有一个带有statusLabel的Windows窗体(C#.NET),我似乎无法在事件处理程序方法的进程中间进行更新。我的代码看起来像这样......voidProcess_Completed(objectsender,EventArgse){stringt="Processisfinished!";this.Invoke(newStatusLabelUpdator(updateStatusLabel),newobject[]{t});}voidProcess_Started(objectsender,EventArgse){stringt="Processhasbegun";thi

c# - 控制台在类库 c# 中不可用

这个问题here似乎与我所经历的相反。我无法从新类库中访问控制台。我在顶部有usingSystem;。我在Windows8上使用visualstudio11。我怀疑这在更新中丢失了,所以这意味着我做错了什么。此外,一旦这一切正常,控制台是否可以在可移植类库中使用?编辑这里只是我做的一个测试文件usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceAdamLib.util.ConsoleSupport{classS