草庐IT

c# - 如何以编程方式创建有效的自签名 X509Certificate2,而不是从 .NET Core 中的文件加载

我目前做的是使用OpenSSL生成PFX文件。这会导致不必要的依赖,尤其是对于Windows用户。所以我找到了一些关于如何使用BouncyCaSTLe创建自己的证书的示例,但是这个库与.NETCore不兼容(或者我找不到兼容的包)。那么,是否可以仅使用.NET核心创建您自己的自签名X509证书以避免依赖OpenSSL(或任何其他证书生成外部工具)?编辑:有人(编辑?)建议这个SO问题Howtocreateaself-signedcertificateusingC#?提供了一个答案。可悲的是,这与.NETCore无关。接受的答案以ThisimplementationusestheCX50

c# - 我可以从 C# 以编程方式使用 T4 吗?

我正在编写生成C#代码的软件。我主要使用StringTemplate和StringBuilder。有什么方法可以直接从我的代码中使用T4模板吗? 最佳答案 OlegSych在此处描述如何执行此操作:UnderstandingT4:PreprocessedTextTemplates.请注意,您似乎需要VisualStudio2010来生成预处理的文本模板,但您可以在任何您喜欢的地方托管预处理的文本模板-包括在您的WinForms应用程序中。 关于c#-我可以从C#以编程方式使用T4吗?,我

c# - 使用 C# 以编程方式创建 Kindle 电子书?

我有一个项目的想法,但它需要能够在服务器上即时创建Kindle电子书,最好是在.net中。不过,我还没有找到任何库来执行此操作。我看到有epub库,但这些仍然需要转换为azw。这是否可能,如果可以,请问有人有任何指示吗? 最佳答案 我正在做类似的事情。一种解决方法是:为您的书创建一个特殊格式的HTML文件(请参阅下面有关kindle格式指南的信息);和使用命令行AmazonKindleGentool生成电子书。就创建目录、在新页面开始章节以及其他可以在Kindle电子书中完成的事情而言,您可能需要阅读kindle格式化指南,例如Am

c# - 以编程方式确定 Mono 运行时版本

以编程方式确定Mono运行时版本的推荐方法是什么?当我们的.Net应用程序与旧版本的Mono一起使用时,我们遇到了各种问题。有时我们可以解决这些问题,如果我们知道我们正在处理哪个版本,但有时我们不能。我们的解决方案是以编程方式检测Mono版本,然后我们可以透明地应用解决方法。如果Mono版本太旧,我们会提示用户升级。我们可以通过如下方式发现Mono是我们的运行时:boolisMonoRuntime=Type.GetType("Mono.Runtime")!=null;我们如何在不间接推断的情况下可靠地确定单声道版本?需要明确的是,我们需要Mono版本号,而不是.NetCLR版本号。

c# - 区分用户更改 Checkbox.Checked 值,还是以编程方式更改

我看到复选框有一个CheckedChanged事件。是否可以判断它是通过编程方式更改的,还是由用户实际选中复选框更改的?我有一个很大的网格,用户可以在其中输入过滤器,或者使用复选框作为一种提供通用过滤参数的“快速过滤器”。然后说他们去通过文本框修改过滤器,我正在检查我是否应该以编程方式(取消)检查CheckBox控件,以便它反射(reflect)文本框中的过滤器。privatevoidgenericCheckbox_CheckedChanged(objectsender,EventArgse){UpdateFilter();}privatevoidUpdateFilter(){if(g

c# - 以编程方式下载pdf

如何使用vb.NET或C#下载PDF并存储到磁盘?(PDF的)URL在到达最终PDF之前进行了一些重定向。我尝试了以下方法,但当我尝试在本地打开时PDF似乎已损坏,DimPdfFileAsFileStream=File.OpenWrite(saveTo)DimPdfStreamAsMemoryStream=GetFileStream(pdfURL)PdfStream.WriteTo(PdfFile)PdfStream.Flush()PdfStream.Close()PdfFile.Flush()PdfFile.Close() 最佳答案

c# - 以编程方式向文件夹添加权限

我遇到一个问题,我需要为所有经过身份验证的用户添加对文件夹的访问权限,以存储与应用程序相关的设置。我发现这可以用下面的代码来完成...varInfo=newDirectoryInfo(settingsdir);varSecurity=Info.GetAccessControl(AccessControlSections.Access);Security.AddAccessRule(newFileSystemAccessRule("AuthenticatedUsers",FileSystemRights.Modify,InheritanceFlags.ContainerInherit|I

c# - Socket编程多客户端一台服务器

我刚刚开始使用C#进行套接字编程,现在有点被这个问题困住了。如何在不为每个客户端创建线程的情况下在单个服务器上处理多个客户端?当有10个客户端时,每个客户端的一个线程工作正常,但如果客户端数量增加到1000个客户端,是否为每个客户端创建一个线程是否可取?如果还有其他方法可以做到这一点,有人可以告诉我吗? 最佳答案 尝试使用异步服务器。以下示例程序创建了一个服务器,用于接收来自客户端的连接请求。服务器是用异步套接字构建的,因此服务器应用程序的执行在等待来自客户端的连接时不会被挂起。应用程序从客户端接收一个字符串,在控制台上显示该字符串

c# - 如何以编程方式从动态 JObject 获取属性

我正在使用NewtonSoftJObject解析JSON字符串。如何以编程方式从动态对象获取值?我想简化代码,不要为每个对象重复自己。publicExampleObjectGetExampleObject(stringjsonString){ExampleObjectreturnObject=newExampleObject();dynamicdynamicResult=JObject.Parse(jsonString);if(!ReferenceEquals(dynamicResult.album,null)){//codeblocktoextracttoanothermethodi

c# - 以编程方式将程序注册到添加/删除程序中并将文件存储在可执行文件中

我正在开发一个WindowsC#控制台应用程序,我希望允许用户将其安装到他们的计算机上。我想让我自己的WindowsInstaller可执行,因为VisualStudio中内置了安装部署工具,似乎缺少自定义和文档功能。因此,因为我想制作自己的Windows安装程序,我该如何将我的程序注册到“添加/删除程序”窗口中,以便他们可以选择再次卸载它,如果他们愿意,它会重新启动我的安装程序以进行删除。此外,可执行文件显然需要将文件复制到PC上的不同位置,即C:\ProgramFiles那么我如何将可执行文件存储在Windows安装程序可执行文件中我可以将它们移动到正确的位置。这可能吗?感谢您提供