Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
 C#_IT技术博客_编程技术问答 - 「Fatal编程技术网」

C#中的命令行CD(更改目录)变量?

我想编写一个简单的C#控制台应用程序,将命令行的当前目录更改为应用程序运行的目录。查看MSDN看起来非常适合这一点,直到我在备注中看到: '当应用程序终止时 工作目录被还原到其 原始位置(所在目录) 这个过程已经开始了 果然,当我在一个测试应用程序中尝试这一点时,它不起作用。有人知道如何在C#中实现CD变体吗?我怀疑这是可能的,因为您只是为程序设置当前工作目录,而不是生成它的cmd进程。您可以编写一个包装批处理脚本: @ECHO OFF FOR /F "tokens=*" %%i in ('so

C# ASP.NETMVC图像上载通过缩小或填充调整大小

用户将能够上传图像。如果图像大于设置的大小,我想将其缩小到该大小。很明显,由于比例的原因,它不必精确匹配,宽度将是关键尺寸,因此高度将是可变的 如果图像小于设置的大小,我想创建一个新的图像到设置的大小与背景的定义颜色,然后中心上传的图像到它,因此结果是原来的填充颜色 非常欣赏的任何代码示例或链接您可以将文件加载到位图对象中: 然后检查物体的宽度。对于问题的第二部分,我建议使用ImageMagick之类的工具 准确地调整第一幅图像的大小,或者创建背景图像并将两幅图像合并在一起。下面是一段代码,

C# 预填充SharePoint新项目表单

我需要预先填充列表表单(列表的添加新项目表单) 提供一些详细信息(登录的用户名和电子邮件地址) 我该怎么做?2个选项: 使用控件创建自己的自定义表单 创建一个很小的weppart,它除了用javascript呈现用户信息之外什么都不做。然后使用jquery在表单的字段中获取该信息 我也在做同样的事情,试图填充一个人员选择器字段 我还没有完成,但我能够在表单中实现一个CEWP(自定义编辑器Web部件),并添加: ?PageView=Shared&ToolPaneView=2 在新表单的

C# 如何创建作为独立exe应用程序的windows服务?

我想创建一个控制台exe应用程序,它可以作为独立应用程序和windows服务运行。有可能吗?使用svchost的实际好处是什么?像这样重写windows服务的主方法,如果使用parametr-c运行,它将是控制台应用程序,是的,不要忘记从项目的属性窗口将项目类型更改为控制台 public static void Main(string[] args) { Service service = new Service(); if (args.Contains("-c",

能否找到Active Directory用户';C#中的s主群?

我正在开发一个在Active Directory中管理用户帐户的应用程序。我尽可能使用System.DirectoryServices.AccountManagement命名空间,但我不知道如何确定用户的主组。当我尝试删除用户的主要组时,会出现异常。这是我目前的代码: private void removeFromGroup(UserPrincipal userPrincipal, GroupPrincipal groupPrincipal) { TODO: Check to see i

C# 如何检查文件是否正在使用?

在试图打开文件进行读取之前,有没有办法先测试文件是否正在使用?例如,如果文件仍在写入或正在使用中,此代码块将引发异常: try { FileStream stream = new FileStream(fullPath, FileMode.Open, FileAccess.Read, FileShare.Read); } catch (IOException ex) { // ex.Message == "The process cannot access the file 'X

C# 查询字符串值包含“0”&&引用;

我有一个查询字符串,如 www.google.com?Department=Education & Finance&Department=Health 我把它们作为li标记,它们的查询字符串如下: 教育与金融 健康 现在的问题是,当我收集NamevalueCollection并获取所有关键值时:它只是给了我教育,而不是金融 你知道怎么做吗?你需要先通过调用对你的值进行编码,然后再将它们放入URL 如果值位于数组中,则需要使用循环。如果您需要精确的说明,您需要向我们显示您当前

C# 使用泛型C的工厂方法模式#

我只是在学习泛型。当我有一个抽象方法模式时,比如: //Abstract Product interface IPage { string pageType(); } //Concerete Product 1 class ResumePage : IPage { public string pageType() { return "Resume Page"; } } //Concrete Product 2 class SummaryPage

C# 测试字典中的一项<;k、 v>;

我使用的是VS2005FX2.0 如果我知道我的字典只包含一个条目,我怎么找到它 谢谢, rod确保您有使用System.Linq。下面的命令将获得字典的键值对 var item = Dictionary<k,v>.Single(); var key = item.Key; var value =item.Value; var item=Dictionary.Single(); var key=item.key; var值=项目价值; 是正确的,但为了更安全(如果有多个项目),您

C# 网络打印

我可以通过以下代码获取网络打印机列表: private void Form1_Load(object sender, EventArgs e) { foreach (String printer in PrinterSettings.InstalledPrinters) { listBox1.Items.Add(printer.ToString()); } } 对于每个网络打印机,我想提取更多信息,如: (a) 获取文档信息,如打印页数、文件名、文件大小等 (b) 获取打印

C# 有没有免费的.NET OCR库可以直接在应用程序窗口上执行OCR?

我正在寻找一个免费的.NET OCR库,它将能够在给定的应用程序窗口甚至内存中的图像上进行OCR(我可以自己拍摄应用程序窗口的快照) 我已经看过了,但都需要一个位于磁盘上的映像 我需要使用OCR,因为我正试图为其编写脚本的应用程序做了一些使用windows API无法读取的古怪事情,我需要从屏幕上刮取数据。我已经测试了和,它们都可以读取大部分文本,但因为这必须在无法写入磁盘的环境中运行,所以我需要它能够直接从应用程序窗口或某种类型的内存流读取 我认为OCR是我唯一的解决方案,但可能还有其他我没有

C# 下拉箭头的宽度

在winforms中,每个下拉组合框的右边都有一个小箭头,告诉用户这是一个下拉框,有点像这样: 现在我如何计算出它的宽度(以像素为单位)?原因是,我使用的是ControlDrawToBitmap,这无法正确绘制组合框的文本,我可以重新绘制内容,我只需敲打一些箭头(正确绘制).我在photoshop中计算出它的宽度为9像素我想到的第一个想法是:检查组合框按钮的宽度是否与滚动条的宽度一致。可以在用户首选项中修改滚动条宽度。使用GetSystemMetrics()API获取各种滚动条的宽度。如果您

C# 一天的时间跨度怎么可能只有8个小时?

我已将持续时间保存为分钟,并希望有一个输出“1天5小时30分钟”。目前,我将分钟添加到时间跨度中,并执行如下操作: TimeSpan ts = new TimeSpan(0,0,1800, 0); Response.Write(ts.Days + "day(s) " + ts.Hours + " hour(s)" + ts.Minutes + " minutes"); TimeSpan workday = new TimeSpan(8, 0, 0); int workdays = ts.Tic

c#对象对象对象';s值为{}。“什么是”呢;{}";?

我使用一些运行sql查询的旧代码作为参考 在某一点上,它会变得像: sqlDataAdapter.Fill(dataSet); DataRow dataRow = dataSet.Tables[0].Rows[0]; Object obj = dataRow[fieldName]; 旧代码执行以下操作: string output; if (!string.IsNullOrEmpty(obj.ToString())) { output = obj.ToString(); } else { ou

C# System.AccessViolationException出现异常问题

我有一个asp.net(3.5)web应用程序。 在一个页面中,我使用一个非托管C库(模拟器),它根据一些输入生成一组结果 当我在web.config(发布模式)中设置了debug=“false”时,调用将导致System.AccessViolationException。如果我在调试器中,或者至少在web.config中设置了debug=“true”,则该异常将永远不会出现 由于bug的性质,我将调用放在一个try catch中记录异常,然后异常就不会出现了 在调试模式和/或尝试捕获时,在受保

C# 为什么有些人用这个?

可能重复: 你好, 我有个问题。我环顾了一下四周,但似乎想不出来。 为什么有些程序员在某些东西前面使用这个?比如: this.button1 = String.Empty; 在MSDN中,我不记得看到过使用this.,除非this.是指表单本身,如下所示: this.WindowState = FormWindowState.Minimized; 我们真的应该这样引用东西吗?或者,这样做有额外的好处吗?到目前为止,我还没有体验到任何明显的好处,也没有注意到任何变化 谢谢:-)对于编译器

WPF、XNA、SlimDX。。。建议使用类似CAD的桌面应用程序?(C#)

这就是我要做的: 要构建一个类似CAD的应用程序,从文件中加载点云(即代表3D对象的数千个3D点),允许用户操作点(即通过移动点来更改形状),请对点上的点进行大量计算(例如,查找直线和曲面之间的交点,检测曲面上方或下方的点等,测量点之间的距离,或点到曲面的距离等),然后将修改后的点保存到文件中 它还提供类似CAD的基本UI功能,如放大/缩小、平移视图、旋转相机等 速度是主要问题 我不想为矩阵运算编写自己的函数,也不想定义自己的点/线/曲面类,而是想使用现有的库/API来完成这项工作 我知道WPF

C# 如何在ItemsControl组中绑定小计

想象一下这个DTO类: class LineItem : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public string Description { get; set; } private decimal m_Amount; public decimal Amount { get { return m_Amou

C# Winforms ReportViewer并正确设置ServerReport的参数

我正在为在ReportViewer控件中显示的报表设置参数,并且参数设置正确,报表正在使用正确的参数运行,但是没有选择在ReportViewer顶部提供报表条件的实际控件。为什么在标准中没有选择正确的项目,即使报表使用我设置的标准正确运行 ReportParameter month = new ReportParameter("month", "September 2011"); SsrsReportInfo reportInfo = new SsrsReportInfo("Summary",

C# 我可以在另一个线程中创建控件吗?

通常在主线程上创建控件。 是否可以在另一个线程中创建一些子控件?我不确定您为什么要这样做。我要做的是使用委托回调主线程上的方法,并在那里添加控件。tl,dr不要这样做 控件可以在不同的线程上创建,但是,当它们添加到父线程(在不同的线程上创建)时,可能会引发跨线程异常。我不确定此异常是否“保证”,但不要这样做。(有跨线程异常而不是隐式封送,这是有原因的;死得快比死得晚要好。) 交叉线程和[winform]控件不能混合使用。当然,如果不同的窗体位于不同的线程上,并且每个窗体的子窗体与窗体位于同一个线

C# Fluent NHibernate-HasManyToMany NHibernate.MappingException:集合映射中重复列

我是一名NHibernate新手,尝试用流利的NHibernate配置现有数据库。问题在于多对多映射,在本例中由库和书籍表示。我想这应该是最基本的东西,但我有以下例外: FluentNHibernate.Cfg.FluentConfigurationException: An invalid or incomplete configuration was used while creating a SessionFactory. Check PotentialReasons collection

C# 添加PropertyGrid的工具提示

我想为属性网格中的项目添加工具提示。当用户将鼠标悬停在某个属性上时,我希望工具提示显示有关该属性用法的提示。对于属性的每个不同值,提示字符串应该是不同的-例如,如果一个属性是字符串列表,则每个字符串将具有不同的提示 这可能吗?PropertyGrid不是很灵活,并且不公开其上的任何单个控件。您可以通过反射访问要在其上显示工具提示的控件(文本框或下拉列表),但这绝非小事,尤其是因为所有控件类都是唯一的,并且在属性网格内部 使用Description属性是目前为止最好的值。如果该属性的字符串列表不够

C# 从磁盘解析大数据文件比在内存中解析慢得多?

在编写一个简单的库来解析游戏的数据文件时,我注意到将整个数据文件读入内存并从内存进行解析的速度要快得多(高达15x106s v7s) 解析通常是顺序的,但会时不时地进行查找,以读取存储在文件中其他位置的一些数据,这些数据由偏移量链接 我意识到,从内存解析肯定会更快,但如果差异如此显著,就有问题了。我编写了一些代码来模拟这一点: public static void Main(string[] args) { Stopwatch n = new Stopwatch(); n.St

C# Linq相等比较不工作

鉴于此方法: internal static IEnumerable<Entity> GetByParentImpl<Entity, TKey>(this ICanGetByParent<Entity, TKey> self, TKey parentId, string fieldName) where Entity : class { RepositoryBase<Entity> rb = (RepositoryBase<

C# HttpWebRequest基础连接已关闭

我使用HttpWebRequest通过web服务发布一个字节数组图片,图片大小类似于byte[4096] 代码: 我得到一个错误: 基础连接已关闭。服务器关闭了预期保持活动状态的连接 是服务器问题还是我的发帖问题?可能有很多问题。您是否可以以其他方式连接到服务器 如果是这样,请尝试通过关闭预期的100 Continue(在发布帖子之前) 根据HTTP 1.1协议,发送此头时,表单数据不会随初始请求一起发送。相反,此头被发送到web服务器,如果实现正确,该服务器将以100(Continue)响应

C# C语言中的空指针异常#

我在下面的代码中遇到了NullPointerException,因为它很少发生,我试图调试以复制该问题,但没有成功。有谁能帮我解释一下什么会导致NullPointerException private static void MyTaskCompletedCallback(IAsyncResult res) { var worker = (AsyncErrorDelegate)((AsyncResult)res).AsyncDelegate; var as

C# Process.Start()未按预期执行

如果我从提升的命令提示符运行takeown/F“C:\Program Files\Borland/A/R/D Y,我将获得Borland文件夹的所有权。但是如果我运行下面的代码,则不会发生任何情况。我尝试以管理员和普通用户的身份运行 Process process = new Process(); process.StartInfo.FileName = @"C:\Windows\System32\takeown.exe"; process.StartInfo.Verb = "runas"; p

C# Protobuf网络反序列化异常与枚举

我有一个带有标志的枚举,我用[ProtoMember]属性装饰它,该属性在运行Win7 x64的本地框上进行序列化和反序列化 但是,我的用例涉及在运行Windows server 2008 R2 Enterprise 64位的服务器上序列化,并在本地框上反序列化。当我反序列化时,我得到异常:“溢出异常未处理;算术运算导致溢出”。它似乎是从ProtoBuf.Serializers.CompiledSerializer.ProtoBuf.Serializers.IProtoSerializer.Re

C# 使用表达式从Lambda创建安全的深度属性访问器

我的目标是使用Lambdas创建一个属性绑定对象,该对象可以安全地检索深层属性值。安全地说,如果以前的某个属性为null,它将返回该属性类型的默认值,而不是引发null引用异常 方法签名: public static Func<TO, TP> BuildSafeAccessor<TO, TP>(this Expression<Func<TO, TP>> propertyExpression) where TO: class { } 这里的关键观察

C# Unity和Simple注入器之间的IoC注册差异

我有一个项目使用Unity功能完美。我尝试改用Simple Injector,现在数据库中没有保存任何更改。我相信这与注册组件的生命周期有关。以下是Unity容器注册: private IUnityContainer GetUnityContainer() { IUnityContainer container = new UnityContainer() .RegisterType<IDatabaseFactory, DatabaseFactory>(

C# 如何控制Datagridview中的SendKeys.Send{quot;tab";}属性?

我正在datagridview单元格中编写代码,将事件输入为 private void dgvGoodsRecpt_CellEnter(object sender, DataGridViewCellEventArgs e) { if (dgvGoodsRecpt.CurrentRow.Cells[e.ColumnIndex].ReadOnly) { SendKeys.Send("{tab}"); } } 如果当前单元格为ReadOnly true,则此代

C# 窗口最上面的混乱-没有出路?

在我的WPF应用程序中,我有一个全屏主窗口。用户可以从主窗口打开预览窗口。PreviewWindow是一个模式窗口,因此它位于主窗口的顶部。到目前为止还不错 当预览窗口打开时,用户仍然可以从Windows任务栏选择主窗口。然后PreviewWindow隐藏在主窗口下,但主窗口不活动,因为PreviewWindow仍然是唯一活动的窗口。对于用户来说,应用程序似乎不再响应 我不知道为什么我的用户会这样工作,但他们会这样做,这会引起很多混乱 我们的第一个解决方案是将预览窗口设置为最顶层,但这并没有多大

C# SOAP头中的WCF用户名和密码

我试图让一个WCF客户端使用请求的SOAP头中提供的安全信息调用web服务,如下所示 这里的用户名 这里的密码 ... 我正在使用Visual Studio 2012和.NET 4。文件称,用于CARA服务的SOAP消息传递版本是SOAP1.2 我添加了一个服务引用,其中添加了一个web.config文件,其中包含一个端点和以下自定义绑定 我尝试了很多不同的web.config选项,但似乎无法获得正确的soap头。谁能给我指出正确的方向吗 更新: @Yaron,这是使用绑定的soap头。

C# 有没有办法定制Thinktecture.IdentityServer.v2登录页面?

我正在使用Thinktecture.IdentityServer.v2应用程序为几个内部应用程序执行SSO,但希望为每个应用程序自定义登录页面,以获得更流畅的用户体验。我似乎找不到一个办法来做那件事 登录页面是否可以根据客户端提交的源应用程序进行自定义?您可以让RP传递自定义查询字符串param并从中进行自定义。但此时您已超出WS-Federation的范围。另外,您必须考虑SSO的本质——用户实际上是在登录IdP,而不是应用程序。因此,将IdP更改为应用程序的外观有点不真实 “我似乎找不到办法

C# GetVersionEx()已被弃用:我应该使用Environment.OSVersion吗?

我打算编写代码来确定操作系统是否为Windows XP,这样我就可以设置LOCALAPPDATA环境变量来处理大量使用ExpandEnvironmentVariables()的代码 为了让它更有趣,有些代码是用VB6编写的,有些代码是用C#4.0编写的。查看GetVersionEx()的文档,强烈建议从Windows 8.1起不再使用此API调用。但没问题,我可以使用一组不同的API调用(VerifyVersionInfo/VerSetConditionMask)。对于VB6,没有选择-我必须使

C# ListView数据获胜';在WPF应用程序中刷新

我试图使用存储过程和实体框架将数据加载到WPF中的ListView中。当我第一次加载用户控件时,ListView可以很好地加载数据。然后我调用相同的代码来刷新数据,通过调试我可以看到ListItems计数发生了变化,但前端屏幕上的数据没有更新 XAML 有人能帮我找出我做错了什么吗?我正在使用VS2012、.Net 4.5和EF 5.0。我不确定是什么导致了问题,通常我建议使用DependencyProperty 但您可以尝试像这样刷新ListView: ICollectionView view

C# 在列表中查找<;t>;如果找到,则返回布尔值

请原谅我的无知,我有点像个新手(但我很热心) 我有一个此类列表: List<MyType> myVar = new List<MyType>() 但我想做一些事情,比如: bool mExists = (myVar.Where(x => x.MyName== "Bob" && MyJob="Taxi Driver").Count > 0) ? true : false; 这可能吗?使用扩展方法 bool exists = myVar.Any

C# ValueType.ToString和ReferenceType.ToString之间的差异

两个变量的ToString调用之间有什么区别 int i = 0; i.ToString(); 调用i.ToString()是否会使我先装箱然后调用ToString,或者在调用ToString()之前我已经装箱?从技术上讲,int继承自intern从对象继承的System.ValueType。但要回答你的问题,没有表现惩罚。所有值类型都是密封类型,它们既不能派生也不能派生自。因此,尽管哈姆雷特·哈科比扬指出,ToString被int覆盖,但它实际上是密封的,没有执行需要装箱的虚拟调度 int是

C# 验证接口属性

我制作了一个界面IRequest: public interface IRequest { [DataMember(IsRequired = true)] string EndUserIp { get; set; } [DataMember(IsRequired = true)] string TokenId { get; set; } [DataMember(IsRequired = true)] string ClientId { get;

如何在Windows 2012r2上以提升的UAC权限运行我的C#服务?

我有一个需要提升管理权限的服务。该服务在Windows XP和Windows 2008r2上运行良好,但当我运行代码检查应用程序是否在Windows 2012r2上的提升管理上下文下执行时,结果总是错误的 我已经尝试将添加到应用程序清单中,当我运行与控制台应用程序相同的代码时(但作为一项服务,应用程序只是在没有提升权限的情况下执行)效果良好,无法执行需要管理权限的操作 此外,我正在使用已接受答案中的代码来确定我是否以提升的权限运行。 在单击“保存”按钮之前,至少需要有30个字符。我认为提升模式和

C# 当ASP.NET应用程序适用于Windows窗体应用程序时,无法加载该应用程序的org.Video.FFMPEG

我得到以下错误: ASP.NET运行时错误:无法加载文件或程序集“AForge.Video.FFMPEG.DLL”或其依赖项之一。找不到指定的模块 我曾在Windows窗体项目中使用过此功能,但在尝试将该项目转换为ASP.NET项目后,我无法使其运行。我在那里使用了一个64位的DLL,但现在已经改用了32位的DLL,因为我似乎在这方面取得了更大的进步(64位DLL也出现了类似的错误) 我在项目属性中将平台目标设置为x86,并尝试将其设置为任何CPU(由于DLL为本机32位,因此会触发警告),还尝

C# Identity-VerifyHashedPassword方法无法正常工作

我对ASP.NET标识和EntityFramework有一个非常奇怪的问题。 我有一个登录表单,从中我收到用户名和密码。 然后检查数据库中是否存在该用户。 之后,我调用UserManager的方法VerifyHashedPassword来验证来自数据库的用户密码和来自表单的用户密码是否相同。一切都正常,但是对于数据库中的一些用户,该方法给我的结果是给定的密码和散列密码不一样(但它们实际上是一样的)。我就是不明白为什么有些用户的密码验证失败了 这是我的密码 public async Task<

如何从C#应用程序获取SSIS项目参数列表

我正在进行一个项目,将2008R2 SSIS包和执行它们的中间层代码升级到2016年 现有代码将运行我需要使用的任何包,因为它使用大量条件逻辑来确定是否需要设置变量(现在是项目参数)。我真的很想简化这个中间层代码,让它更通用 所以,我的问题是:有没有办法确定任何给定包的预期参数?我已经查看了PackageInfo.Parameters集合,但它不会提供给我,因为这是我需要添加到的集合。我正在寻找一种查询包/项目所需参数的方法 一旦我得到了,我就可以验证所需的参数是否已添加到集合中,并向用户返回一

C# Console.WriteLine返回正确的值,但按钮给出错误;绑定:';名称';在'上找不到属性;x、 y.z Xamarin.Forms.Button.Text“;

背景信息: 我正在开发一个XAMARIN应用程序,其中我尝试生成动态按钮 列表包含对象,这些对象具有属性。我尝试使用foreach()从列表中挑出一个对象 循环时,在将属性名称附加到我的按钮之前,我使用控制台.WriteLineConsole.WriteLine返回正确的值,但当我尝试将其附加到按钮时,它返回以下错误消息: Binding: 'Name' property not found on 'MobileApp.ViewModels.DashboardViewModel', target

C# 如果图像的值为null,则将其从数据库加载到windows窗体中

双击此windows窗体中包含的此datagrid对象中包含的数据时,将显示一个辅助窗体,以便可以编辑数据库 但是,如果数据库中当前没有存储图像(其值为null),则会发生以下异常: System.InvalidCastException: 'Unable to cast object of type 'System.DBNull' to type 'System.Byte[]'.' 纠正代码以使图像正确加载到相应的picturebox中的最佳方法是什么? 这是发生异常的代码的一部分 pri

C# 如何使用moq HttpClientExtensions方法“;邮政同步;?

我需要围绕PostsJSonasync编写单元测试用例,这是HttpClientExtensions中的扩展方法。我找不到任何简单的方法来解决它 有人能帮我吗。我可以想到两种方法: 使用Moles这样的框架:这样你就可以用你自己的方法替换扩展或任何其他方法,返回你想要的值 这是我喜欢的方式。在这种情况下,将服务包装在代理接口中。您可能会在其他地方发现它被称为适配器模式,但在我看来,您只是在抽象操作和代理数据 因此,创建IHttpClientProxy和相应的具体实现,它们将使用您喜欢的任何扩