Tag: .net

c#无头浏览器,支持爬虫的javascript

任何人都可以建议支持cookie和authomatically javascript执行的无头浏览器?

使用Microsoft.Build API构建项目

我正在尝试使用Microsoft.Build中的类来构建项目。 代码是: var project = new ProjectInstance(CS_PROJ_FILE); project.Build(); 然而,它抛出以下exception: Microsoft.Build.Shared.InternalErrorException occurred HResult=0x80131500 Message=MSB0001: Internal MSBuild Error: Type information for Microsoft.Build.Utilities.ToolLocationHelper was present in the whitelist cache as Microsoft.Build.Utilities.ToolLocationHelper, Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a but the type could not be loaded. unexpectedly null Source=Microsoft.Build 我已经尝试将以下内容添加到包中(在net452和net7项目中): id =“Microsoft.Build”version =“15.1.1012” id =“Microsoft.Build.Framework”version =“15.1.1012” id =“Microsoft.Build.Runtime”version =“15.1.1012” id =“Microsoft.Build.Tasks.Core”version =“15.1.1012” […]

对PInvoke函数的调用使堆栈失衡。 这可能是因为托管的PInvoke ..(.NET 4)

我的项目在.NET Frame 3.5中成功运行且没有错误。 但是,当我将它定位到.NET Frame工作4.我收到错误: “ 对PInvoke函数的调用使堆栈失衡。这可能是因为托管的PInvoke签名与非托管目标签名不匹配。 ” 我使用了非托管库,如下所示: [StructLayout(LayoutKind.Sequential )] public class DGNElemCore { public int offset; public int size; public int element_id; public int stype; public int level; public int type; public int complex; public int deleted; public int graphic_group; public int properties; public int color; public int weight; public int style; public […]

如何在表单之间导航

我是一个新兴的c#和窗口forms我正在做一个项目,我遇到了一些问题 如何在窗口中导航窗体(我有一个菜单条,点击它会显示一个项目“品牌”,所以当我点击它,它应该在窗口内打开,我不想要使用mdiparent /容器,我有form1和form2,然后我把菜单条放在form1中,form1中有一些东西,如果使用mdiparent / container,form1 content / thing将阻止form2) 2.i使用下面的代码,问题是我想关闭form1,我点击菜单条中的“品牌”…但如何??? public partial class Form1 : Form { // i put the menu strip in form1 design public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void Check_Click(object sender, EventArgs e) { Form2 Check = new Form2(); Check.Show(); } }

XML反序列化通用方法

我有下一个XML文件: d639a54f-baca-11e1-8067-001fd09b1dfd -24145 e3b3b4cd-bb8e-11e1-8067-001fd09b1dfd 0.28 我把它反序列化到这个类: [XmlRoot(“Root”, IsNullable = false)] public class DocBalanceCollection { [XmlElement(“Document”)] public List DocsBalanceItems = new List(); } DocBalanceItem是: public class DocBalanceItem { [XmlElement(“Id”)] public Guid DocId { get; set; } [XmlElement(“Balance”)] public decimal? BalanceAmount { get; set; } } 这是我的反序列化方法: public DocBalanceCollection DeserializeDocBalances(string filePath) { var docBalanceCollection = new DocBalanceCollection(); […]

以编程方式断开网络连接

有没有办法以编程方式临时断开.NET 4.0中的网络连接? 我知道通过这样做我可以获得当前的网络连接状态…… System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable() 但出于测试目的,我想测试我的应用程序丢失网络连接时的行为(没有物理拔出网络电缆)。 谢谢,克里斯。

为什么在main()退出之前调用Dispose()?

我的.net服务通过在Main()循环退出之前调用finally块中的resourceName.Dispose()来清除所有非托管资源。 我真的必须这样做吗? 我是否认为我不能泄漏任何资源,因为这个过程正在结束? Windows将关闭任何不再使用的句柄,对吧?

如何在.Net中更改整个流程(不仅仅是当前线程)的CurrentCulture?

我有一种情况需要将我的进程’locale设置为en-US。 我知道如何为当前线程执行此操作: System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(“en-US”); 但我的应用程序使用BackgroundWorkers进行一些处理,并且这些工作线程的区域设置似乎不受上述对其产生主线程的更改的影响。 那么如何在我的应用程序中为所有线程设置区域设置而不在每个线程中手动设置?

C#WebClient第一次表现得很慢

我使用WebClient从网站下载一个字符串(只包含纯文本,没有别的),所以我使用DownloadString方法: WebClient wc = new WebClient(); string str = wc.DownloadString(“http://blah”); 它运行正常,但问题是它第一次下载字符串需要很长时间,比如5秒。 之后它运作得很快。 为什么会发生这种情况,如何解决这个问题呢?

C#:ToArray性能

背景: 我承认我并没有尝试对此进行基准测试,但我很好奇…… Enumerable.ToArray (及其堂兄Enumerable.ToList )的CPU /内存特性是什么? 由于IEnumerable没有预先通告它有多少元素,我(或许天真地)假设ToArray必须“猜测”一个初始数组大小,然后如果第一个猜测看起来太小则resize/重新分配数组,那么如果第二次猜测看起来太小等,再次调整它的大小…这会产生比线性更差的性能。 我可以想象更好的方法涉及(混合)列表,但这仍然需要多个分配(虽然不重新分配)和相当多的复制,尽管它可能是线性整体尽管开销。 题: 幕后是否有任何“神奇”发生,避免了重复resize的需要,并使ToArray在空间和时间上ToArray线性? 更一般地说,是否有关于BCL性能特征的“官方”文档?