Articles of .net

VS 2010工具的gacutil.exe安装程序集在哪里?

我使用Visual Studio 2010命令提示符的gacutil.exe来安装程序集。 我期望该程序集被添加到C:\WINDOWS\assemblies ,但它被添加到C:\WINDOWS\Microsoft.NET\assembly\GAC_MSIL并不显示在C:\WINDOWS\assemblies 。 这是一个问题,我应该担心它没有显示在那里?

错误应用程序<app_name>,版本<版本号>,错误模块kernel32.dll

我有一个Windows应用程序构build使用C#和.net框架2.0,并安装在Windows Server 2003上。 我testing了我的机器上的应用程序,它在我的机器上完美地工作。 两台机器之间的区别仅在于,我的机器具有Windows Vista操作系统,而发生错误的机器具有Windows Server 2003操作系统。 当我启动应用程序时,它可以正常工作一段时间,但随后出现一个错误 错误的应用程序,版本,错误模块kernel32.dll,版本5.2.3790.4480,邮票,debugging? 0.故障地址0x000bef7。 来源:.NET运行时2.0错误类别:无事件ID:1000 有谁知道为什么这个错误来了? 我GOOGLE了这个错误,但大部分的解决scheme是为explorer.exe或Internet Explorer。

为什么打电话给PerformanceCounter很慢?

我正在从PerformanceCounters读取'%CPU'和'可用内存'的服务器上工作。 它在我的开发机器上运行良好。 但是在实际的服务器上,从这两个PerformanceCounter读取真的很慢。 至less在前两个读取操作。 执行以下代码可能需要4-6分钟时间: Stopwatch watch = new Stopwatch(); Log.Instance.Debug("Going to initialize Diagnostic's PerformanceCounters"); watch.Start(); m_CPUPerformanceCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total", true); m_MemoryPerformanceCounter = new PerformanceCounter("Memory", "Available MBytes", true); m_CPUPerformanceCounter.NextValue(); m_MemoryPerformanceCounter.NextValue(); //Ensure an updated value… System.Threading.Thread.Sleep(1000); m_CPUPerformanceCounter.NextValue(); m_MemoryPerformanceCounter.NextValue(); watch.Stop(); Log.Instance.Debug("Finished initializing Diagnosticss PerformanceCounters. Time elapsed: {0}", watch.Elapsed); 当我在开发机器上运行这个代码时,它会在不到2秒的时间内完成(有时甚至更less)。 但是在我们产品的客户端应该使用的实际服务器上,这将需要很长时间。 见下文: Finished initializing […]

一个.NET的Windows应用程序可以压缩成一个单一的。

我不太熟悉.NET桌面应用程序(使用Visual Studio 2005 )。 是否有可能从一个单一的.exe文件运行整个应用程序?

设置Form.KeyPreview = true的缺点?

我不知道Form.KeyPreview属性实际上是好的吗? 为什么它存在,我把我的“风险”设置为真? 我想这肯定会有一些负面影响 – 否则根本不应该存在(或者至less在默认情况下是正确的)? 编辑 :我完全知道它做了什么 。 我在问为什么 。 为什么我必须将它设置为true才能使键盘事件触发? 为什么键盘事件总是不能为表单启动? 标准行为不仅仅是什么? 我问的特别原因是:我刚刚在我的应用程序的基本forms中设置KeyPreview = true,其他所有formsinheritance。 我是否有什么恶心的意外?

.NET FileInfo.LastWriteTime和FileInfo.LastAccessTime是错误的

当我在正在写入的文件上调用FileInfo(path).LastAccessTime或FileInfo(path).LastWriteTime时,将返回文件创build的时间,而不是最后一次写入的时间(即现在) 。 有没有办法获得这些信息? 编辑:到目前为止所有的回应。 我没有尝试Refresh()但也没有做到这一点。 我回到了文件开始写入的时间。 这同样适用于静态方法,并创buildFileInfo的新实例。 Codymanix可能有答案,但我没有运行Windows Server(使用Windows 7),我不知道设置要testing的位置。 编辑2:没有人觉得这个function似乎不工作有趣吗?

KERNELBASE.dllexception0xe0434352偏移量0x000000000000a49d

我最近收到了一个来自运行我们的虚拟机上的应用程序的客户端的系统事件日志。 我注意到日志中的这些条目: Description: The process was terminated due to an unhandled exception. Framework Version: v4.0.30319 4/22/2014 5:05:28 PM;"Error";".NET Runtime";"1026";"Application: MyApp.exe Report Id: d50fe7ab-ca61-11e3-9e10-6805ca17040a" Faulting module path: C:\Windows\system32\KERNELBASE.dll Faulting application path: C:\Program Files\MyApp\bin\MyApp.exe Faulting application start time: 0x01cf5e44d3e971c2 Faulting process id: 0x13fc Fault offset: 0x000000000000a49d Exception code: 0xe0434352 Faulting module name: KERNELBASE.dll version: 6.1.7601.17514 time stamp: […]

从C#/ WPF应用程序重新启动机器

我想在我的WPF应用程序中有一个重新启动计算机的button。 这个程序总是运行在Vista上。 事实上,一个快速的search没有变成什么东西让我觉得这可能比我希望的更难…任何想法? 谢谢!

检查另一个进程在.NET中是否具有pipe理员权限

我正在寻找一种方法来检查远程进程是否拥有来自我的(完全托pipe)代码的pipe理员权限。 假设我的代码将以pipe理员权限运行,这是安全的,所以我不在乎这种技术如何实现我的目标,但是我正在寻找一种完全pipe理的方式,它必须与XP SP3 x86兼容一路下降到win7 x64。 提前致谢! 编辑 :为了澄清,我正在谈论一个进程在同一台机器上运行,无论谁启动它的用户。 我想要确保与进程相关的身份属于pipe理员组,或者主线程具有完全权限,特别关注inheritance由提升进程打开的句柄,并且无限制地写入存储区,但是应用于进程以“以pipe理员身份运行”选项产生。

如何获得当前的Windows目录例如C:\在C#

如标题所示,如何获得当前的操作系统驱动器,以便将其添加到string中,例如: MessageBox.Show(C:\ + "My Documents"); 谢谢