草庐IT

官方版本

全部标签

c# - 以编程方式检索正在运行的服务的程序集版本

我想访问我用ServiceController类“控制”的服务的程序集版本信息。(即,我想显示“2.3.1.23”),但是我找不到任何关于检索程序集版本的信息……这有可能吗?编辑:澄清一下……我只知道在本地计算机上运行的服务的名称。我想访问该服务的“FileVersionInfo”(更好的说法是服务exe),但我不知道该服务exe位于何处。 最佳答案 如果我没理解错的话,你想要获取任何服务exe的版本。假设您知道服务的可执行文件的名称和路径,您可能想尝试:FileVersionInfoversionInfo=FileVersionI

c# - 如何在 .NET 4 中使用 Console.CancelKeyPress? (在 .NET 3.5 及以下版本中工作正常)

我正在用C#4编写一个控制台应用程序,我想优雅地取消我的程序,然后按下了Ctrl+C。以下代码我以前用过很多次,但现在在.NET4中尝试使用它时,似乎发生了一个奇怪的未处理异常。namespaceConsoleTest{classProgram{privatestaticboolstop=false;staticvoidMain(string[]args){System.Console.TreatControlCAsInput=false;System.Console.CancelKeyPress+=newConsoleCancelEventHandler(Console_Cancel

c# - 在 mvc 3.0 及更高版本中实现验证码

我在mvc4.0应用程序和我的引用中使用了验证码:Asp.NetMVCCAPTCHA但它基于mvc2.0实现,它显示图像,但在Controller中我没有任何OnPreAction方法,我将其替换为OnAuctionExcuting,但其中没有MethodInfo。如何更新代码以在mvc3.0或4.0上运行? 最佳答案 只需使用Nuget获取Recaptcha包,然后按照以下步骤操作:http://www.tkglaser.net/2011/10/google-recaptcha-in-aspnet-mvc-3-using.html

c# - 检测操作系统版本 - Windows Phone 7 或 Windows Phone 8?

我有一个适用于WindowsPhone7的应用程序。我在Windows8桌面上创建了visualstudio2012。我正在尝试在WindowsPhone8设备中使用该应用程序,但也涉及一些更改。如何以编程方式检测设备是WindowsPhone7还是WindowsPhone8? 最佳答案 就像您在使用C#的任何其他平台上一样:Environment.OSVersion 关于c#-检测操作系统版本-WindowsPhone7或WindowsPhone8?,我们在StackOverflow上

c# - 有没有一种简单的方法来制作类的不可变版本?

有没有一种简单的方法可以使实例不可变?举个例子,我有一个包含很多数据字段的类(只有数据,没有行为):classMyObject{//lotsoffieldspainfultoinitializeallatonce//sowemakefieldsmutable:publicStringTitle{get;set;}publicStringAuthor{get;set;}//...}创建示例:MyObjectCreationExample(StringsomeParameters){varobj=newMyObject{Title="foo"//lotsoffieldsinitializa

c# - 无论 .NET 版本/环境如何,都能找到 ildasm.exe 和 ilasm.exe 文件的文件路径的保证方法?

有没有办法以编程方式获取ildasm.exe/ilasm.exe可执行文件的文件信息/路径?我试图在对dll/exe文件进行一些更改后对其进行适当的反编译和重新编译(我猜PostSharp在编译后做了一些类似于更改IL的事情)。我发现一篇博文指向:varpfDir=Environment.GetFolderPath(Environment.SpecialFolders.ProgramFiles));varsdkDir=Path.Combine(pfDir,@"MicrosoftSDKs\Windows\v6.0A\bin");...但是,当我运行这段代码时目录不存在(主要是因为我的SD

c# - 在运行时动态选择要使用的 .dll 版本

我正在为SharePoint开发一个实用程序。它是适用于SharePoint2007和2010的应用程序。当我引用12.0.0.0版本的SharePoint.dll时,该应用程序适用于SharePoint2007,但不适用于2010。如果我引用14.0.0.0版本的dll,那么该应用程序适用于2010年,但不适用于2007年。通过使用以下代码查看文件系统,检查路径中的12(SharePoint2007)或14(SharePoint2010),我可以轻松判断我需要使用哪个.dll。System.IO.File.Exists(Environment.GetFolderPath(Enviro

c# - 如何以编程方式检测 Windows Phone 8.1 操作系统版本?

标题中的问题不是真正的问题。我浏览了许多网站和博客,了解到Environment.OSVersion为您提供了使用我们应用程序的手机的当前操作系统版本。但问题是,类Environment下没有OSVersion。请引用屏幕截图以便更好地理解。我的问题是为什么我在环境类下看不到OSVersion属性?我错过了什么吗? 最佳答案 Universal/WinRT应用程序只能在wp8.1中运行,因此操作系统版本只能是8.1。当他们制作wp8.2或wp9时,他们可能会添加一种方法来检查安装的操作系统版本...如果您要查找固件版本,可以通过以下

c# - 在 TFS 中获取已删除文件的特​​定版本

我似乎无法解决TFS的这个非常奇怪的问题。大约一年前,我创建了一个名为“extensions.cs”的文件并将其放在源代码管理中,比方说在变更集1000附近。在变更集5000处文件被删除(因为不再需要)并且生活继续,当然没问题。现在我需要从3000左右的变更集构建一个较旧的程序。它恰好使用了“extensions.cs”,但我无法在变更集3000(或与此相关的任何变更集)处checkout该文件,即使它那个时候就已经存在了。我可以在源代码管理资源管理器中看到该文件,但它是灰色的,其“最新”状态列为“已删除”我无法将它取回似乎很愚蠢,那么我做错了什么,我该如何解决这个问题?

c# - 如何确定哪个版本的Windows?

如何确定哪个版本的Windows?WinXP、Vista或7等32位还是64位?UPD:适用于.Net2.0-3.5 最佳答案 您正在查找Environment.OSVersion、Environment.Is64BitProcess和Environment.Is64BitOperatingSystem属性。在.Net4.0之前,可以通过检查IntPtr.Size是否为8来判断进程是否为64位,而你可以使用thiscode检查操作系统是否为64位:publicstaticboolIs64BitProcess{get{returnIn