Tag: .net 2.0

“无法加载.Net 2.0,VS2010和Windows 8上的文件或程序集System.Drawing或其中一个依赖项”错误

我在Windows窗体应用程序项目上收到FileNotFoundException,并显示以下消息: Could not load file or assembly ‘System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. The system cannot find the file specified. 要复制问题: 选择New,Project,选择.Net Framework 2.0作为目标,并选择Windows Forms Application作为项目类型。 在默认情况下创建的表单的属性上,选择Icon属性的值。 任何.ico文件都可以。 这将把文件嵌入resx文件。 编译并运行应用程序。 当我这样做时,程序就停止了这一行this.Icon = ((System.Drawing.Icon)(resources.GetObject(“$this.Icon”))); 除以下exception: System.IO.FileNotFoundException was unhandled Message=Could not load file or assembly ‘System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. […]

从.NET 2.0客户端调用Web Api服务

是否可以从.NET 2.0客户端调用Web Api方法? 请参考此处的指南: http : //www.asp.net/web-api/overview/web-api-clients/calling-a-web-api-from-a-net-client 这些客户端的一些dll似乎与.NET 2.0不兼容 有没有办法从.NET 2.0客户端调用Web Api方法而不添加任何dll?

Combobox外观

我可以更改Winforms ComboBox的外观,以便具有DropDownStyle = DropDownList的Combobox看起来更像DropDownStyle = DropDown 。 它们之间的function差异在于前者不允许用户输入值,问题是它的默认颜色方案看起来变灰并且与同一对话框上的文本框不匹配。

如何将ctrl + c发送到c#中的进程?

我正在为命令行可执行文件编写一个包装类。 这个exe接受来自stdin的输入,直到我在命令提示符shell中命中ctrl + c,在这种情况下,它根据输入到stdout打印输出。 我想模拟ctrl + c按c#代码,将kill命令发送到.Net进程对象。 我试过调用Process.kill(),但这似乎没有给我进程的StandardOutput StreamReader。 可能有什么我做得不对劲? 这是我正在尝试使用的代码: ProcessStartInfo info = new ProcessStartInfo(exe, args); info.RedirectStandardError = true; info.RedirectStandardInput = true; info.RedirectStandardOutput = true; info.UseShellExecute = false; Process p = Process.Start(info); p.StandardInput.AutoFlush = true; p.StandardInput.WriteLine(scriptcode); p.Kill(); string error = p.StandardError.ReadToEnd(); if (!String.IsNullOrEmpty(error)) { throw new Exception(error); } string output = p.StandardOutput.ReadToEnd(); 但是,当我手动运行exe时,输出总是为空,即使我从stdout获取数据。 编辑:这是c#2.0顺便说一句

.NET 2.0:File.AppendAllText(…) – 线程安全实现

作为闲置好奇心的练习,请考虑以下简单的日志记录类: internal static class Logging { private static object threadlock; static Logging() { threadlock = new object(); } internal static void WriteLog(string message) { try { lock (threadlock) { File.AppendAllText(@”C:\logfile.log”, message); } } catch { …handle logging errors… } } } lock需要围绕File.AppendAllText(…)还是通过自己的实现本身就是线程安全的方法? 搜索有关这方面的信息会产生许多相互矛盾的信息,有些人说是,有些人说不。 MSDN什么也没说。

MS Project Gantt图表控制在C#中的使用

有没有人在C#中使用MS Project Gantt图表控件? 如果是,您可以分享一些资源吗?

在.NET 2中搜索具有特定属性值的节点的XML文件

我找到了使用LINQ搜索XML节点的答案,但我仅限于使用.NET 2的C#。 我想打开一个XML文件(~50Kb,所有简单文本)并搜索属性name具有特定值的所有节点。 看起来像XmlDocument.SelectNodes()可能是我正在寻找的,但我不知道XPath。 这是正确的方法,如果是这样,代码会是什么样的?

HttpWebRequests在后续调用时失败

我知道这是一个模糊的问题,特别是因为我没有提供任何代码,但我正在开发一个.Net 2.0应用程序,我们有一个WebRequest,它将数据发布到内部构建的API。 奇怪的事情发生在我们的第3个(并且总是第3个)后续请求中,该请求在请求的GetRequestStream()方法中失败。 第一次和第二次被叫,一切都很好。 在第三次,它挂了一点,最终超时。 内部的其他应用程序正在调用API,因此我们知道它不是服务器端或网络问题。 我们尝试过几台机器 – 所有机器都有同样的问题。 有没有人曾经遇到过这个问题,或者有没有人对如何调试有任何不满(因为响应对象没有任何东西,或者至少没什么用处)。

设计表单以在Windows CE上处理不同的分辨率和宽高比

我有一个在Compact Framework上运行的.NET 2.0应用程序。 它有许多不同的forms,最初都是为在具有特定屏幕分辨率的特定设备上运行而设计的。 我现在希望让这个应用程序在其他一些具有非常不同的屏幕分辨率的设备上运行(有些具有完全相反的宽高比,其中屏幕现在比它的宽度更高)。 我的问题是如何在其他屏幕上更改表单以使其看起来更好? 这与在完整框架上设计表单略有不同,因为我必须设计这些表单以占据整个屏幕,因为屏幕非常小。 我曾考虑为每种类型的屏幕方向创建单独的表单(例如MyForm_Wide.cs,MyForm_Tall.cs等)。 我希望能够重用非设计器生成的代码,该代码包含许多与UI控件绑定的业务逻辑。 也许我可以某种方式使用部分类来实现这一点(例如,MyForm.cs以某种方式被编译成MyForm_Wide.Designer.cs等)。 我真的想避免每个屏幕方向的特定编译版本。 我想到的另一种方法是尝试根据确定的屏幕大小在运行时重新排列一些控件。 你们有什么感想?

ILMerge +本地化资源程序集

我正在使用ILMerge从包含1个exe和2个资源dll的项目中创建单个程序集应用程序: \ BIN \调试\ test.exe的 \ BIN \调试\ NL-BE \ test.resources.dll \ BIN \调试\ FR-FR \ test.resources.dll 这是一个简单的测试项目,有1个表单(Form1.cs),所以没什么特别的。 我的目标是使用工作资源管理器创建一个单独的程序集应用程序(我已阅读ILMerge和本地化资源程序集以及单程序集多语言Windows窗体部署(ILMerge和附属程序集/本地化) – 可能吗?有关如何执行的信息这个)。 编译项目后,我使用以下命令行参数运行ILMerge: ilmerge /log:test.txt /target:winexe /copyattrs /allowdup /out:test_merged.exe “C:\projectdir\bin\Debug\test.exe” “C:\projectdir\bin\Debug\fr-FR\test.resources.dll” “C:\projectdir\bin\Debug\nl-BE\test.resources.dll” 如果我用Reflector检查合并程序集的内容,我在资源树节点下看到以下内容: test.Form1.fr-FR.resources test.Form1.fr-FR.resources test.Form1.resources test.Properties.Resources.resources 而不是fr-FR和nl-BE资源,我有2倍的fr-FR资源。 这是因为资源dll的名称相同吗? 结果是我只能在运行时获取fr-FR资源。 有任何想法吗 ? 更新(日志文件内容):(注意:二进制文件以“loc_”为前缀,为了清楚起见,我在之前的post中将它们删除了) ILMerge version 2.10.526.0 Copyright (C) Microsoft Corporation 2004-2006. All rights reserved. ILMerge /log:loc_test.txt […]