我是否必须包含所有System.Collections.Immutable依赖项?

我刚刚从(较旧的) Microsoft.Bcl.Immutable NuGet包切换到System.Collections.Immutable并且很惊讶在我的项目中找到所有这些新的包依赖项: System.Collections System.Diagnostics.Debug System.Globalization System.Linq System.Resources.ResourceManager System.Runtime System.Runtime.Extensions System.Threading 它们被列为NuGet包的依赖项,因此它们有权在那里,但它们显然已经安装在我的PC和我的目标环境(Azure btw)上,因为它们随框架一起提供。 我的项目中已经有了大量的软件包,如果可能的话,我希望避免这8个软件包造成的额外开销(并且不会在脚下拍摄自己)。 删除这些依赖项是否安全? 我现在是否必须在整个项目中使用这些软件包,因为它们可能与已安装的版本不同,我的项目的某些部分现在可能使用了错误的软件包? (由于某些DLL链接疯狂?) 编辑:只是为了完整性,因为之前有一个评论:依赖项是实际的包(不是命名空间),必须下载,我的目标是使用.NET 4.6进行编译,在VS2015中工作。 虽然有些东西已经过时且包装不需要正常加载,但这完全有可能吗?

microsoft.visualbasic.fileio不存在

我在.NET Framework 4.0上,在VisualStudio 2012中构建了一个C#Web应用程序。我添加了Microsoft.VisualBasic作为项目的参考。 我遇到以下代码行的问题: 使用Microsoft.VisualBasic.FileIO; 构建解决方案会返回错误:命名空间“Microsoft.VisualBasic”中不存在类型或命名空间名称“FileIO”(您是否缺少程序集引用?) 我已删除并重新添加对程序集Microsoft.VisualBasic的引用,但仍然得到错误。 Microsoft.VisualBasic位于GAC,以及Microsoft.VisualBasic.Compatibility,Microsoft.VisualBasic.Compatibility,Microsoft.VisualBasic.PowerPacks.Vs和Microsoft.VisualBasic.Vsa。 请告诉我如何让VS2012识别FileIO名称空间。

在只读静态字段初始化时的线程安全性

如果创建一个只读静态成员,如下所示: public sealed class MyClass { public readonly static MyClass Instance = new MyClass(); } 我们知道如果某个线程第一次访问MyClass,静态构造函数将初始化MyClass.Instance字段。 但是,如果多个线程同时访问MyClass(即静态字段线程安全的初始化),是否会创建单个实例(在本例中为MyClass)?

System.Drawing.Image.Save中的GDI +发生了一般错误

例外: GDI +中发生了一般错误。 System.Drawing.Image.Save(String filename)的System.Drawing.Image.Save(String filename,ImageCodecInfo encoder,EncoderParameters encoderParams)at System.Drawing.Image.Save(String filename,ImageFormat format)at System.Drawing.Image.Save(String filename) 码: byte[] bitmapData = new byte[imageText.Length]; MemoryStream streamBitmap; bitmapData = Convert.FromBase64String(imageText); streamBitmap = new MemoryStream(bitmapData); System.Drawing.Image img = Image.FromStream(streamBitmap); img.Save(path); 我们将base64字符串转换为MemoryStream,然后创建System.Drawing.Image(Image.FromStream(streamBitmap))。 最后,图像保存在临时文件中。 奇怪的是,当Web服务器上的活动(并发用户数)很高并且问题在IISRESET或应用程序池回收后暂时解决时,问题似乎发生了…… ==>垃圾收集器问题? 我已经检查了TEMP文件夹的权限……

C#从巨大的url列表中下载数据

我有一个巨大的网页列表,显示一个状态,我需要检查。 一些url位于同一网站内,另一个url位于另一个网站上。 现在我正试图通过使用下面的代码以并行的方式做到这一点,但我觉得我造成了太多的开销。 while(ListOfUrls.Count > 0){ Parallel.ForEach(ListOfUrls, url => { WebClient webClient = new WebClient(); webClient.DownloadString(url); … run my checks here.. }); ListOfUrls = GetNewUrls….. } 这可以用更少的开销来完成,并且可以更多地控制我使用/重用的Web客户端和连接数量吗? 那么,最终工作可以更快完成吗?

从字符串中获取所有数字的最佳方法

有没有更好的方法来获取一个字符串,如“(123)455-2344”并从中得到“1234552344”而不是这样做: var matches = Regex.Matches(input, @”[0-9]+”, RegexOptions.Compiled); return String.Join(string.Empty, matches.Cast() .Select(x => x.Value).ToArray()); 也许一个正则表达式模式可以在一场比赛中做到这一点? 我似乎无法创造一个来实现这一目标。

如何检测Windows 7所需的重新启动

我正在开发一个项目,在Windows 7 PC上安装了几个软件和驱动程序。 无需用户输入即可使用。 现在有一个问题:如何在此程序中确定是否需要重新启动才能完成安装(可以是驱动程序或软件)。 我们正在开发嵌入式Windows 7,并且没有启用任务栏或任何工具提示或类似的东西可见。 软件以静默方式安装。

将文本框值插入数据库

我是一个新手,想要一些关于C#编程的建议 我想将文本框中的值存储到数据库中。 到目前为止,我有以下内容: string connectionString = @”Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Customers.mdf;Integrated Security=True;User Instance=True”; SqlConnection connection = new SqlConnection(connectionString); connection.Open(); string query = “INSERT INTO ProjectList (ProjectName, BiddingDueDate, Status, ProjectStartDate, ProjectEndDate, AssignedTo, PointsWorth, StaffCredits) VALUES (‘”+projName+”‘, ‘”+bidDueDate+”‘, ‘”+status+”‘, ‘”+projectStartDate+”‘, ‘”+projectEndDate+”‘, ‘”+assignedTo+”‘, ‘”+pointsWorth+”‘, ‘”+aStaffCredits+”‘)”; SqlCommand command = new SqlCommand(query, connection); command.ExecuteNonQuery(); connection.Close(); 代码中没有错误,但我似乎无法弄清楚为什么数据库中没有存储任何内容。

sp #f在C#中?

在C#中有类似sprintf()东西吗? 我想比如将整数转换为2字节的字节数组。 就像是: int number = 17; byte[] s = sprintf(“%2c”, number);

在ASP.NET中重定向之前的Javascript警报

我在更新面板中更新时使用以下代码显示消息 string jv = “alert(‘Time OutAlert’);”; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), “msg”, jv, true); 它工作正常。 但是当我在它之后使用Redirect时它会加载页面而不显示消息。 我希望用户看到该消息,点击“确定”后它应该重定向。 string jv = “alert(‘Time OutAlert’);”; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), “msg”, jv, true); Response.Redirect(“~/Nextpage.aspx”);