草庐IT

c# - 从 64 位 exe 访问 32 位 DLL 的方法

我有一个项目必须在64位模式下编译和运行。不幸的是,我需要调用仅在32位模式下可用的DLL,因此我无法将所有内容都放在一个1VisualStudio项目中。我正在努力寻找将32位DLL包装在其自己的exe/服务中并从我的64位应用程序发出对该exe/服务的远程(尽管在同一台机器上)调用的最佳方法。我的操作系统是Win7Pro64位。此32位进程所需的调用是每秒几十次,但数据量很小。这是一个实时图像分析应用程序,因此尽管数量很少,但响应时间至关重要。大量发送/接收单个原语。理想情况下,我会托管一个WCF服务来容纳这个DLL,但在64位操作系统中,不能强制该服务以x86运行!Source.

c# - xsd.exe 生成类的可空值

我一直在使用xsd.exe来生成一个用于反序列化XML的类。我在不需要的源xsd中有十进制值:xsd生成的类生成以下代码:privatedecimalbalanceField;[System.Xml.Serialization.XmlAttributeAttribute()]publicdecimalBalance{get{returnthis.balanceField;}set{this.balanceField=value;}}我注意到这是不可空的。我如何改为将字段生成为可为空,如下所示:privatedecimal?balanceField;[System.Xml.Seriali

c# - 检查 EXE 上的数字签名

我的.NETexe是使用signtool签名的。使用此代码,我可以验证证书本身的有效性:varcert=X509Certificate.CreateFromSignedFile("application.exe");varcert2=newX509Certificate2(cert.Handle);boolvalid=cert2.Verify();但是,这只会检查证书本身,而不检查EXE的签名。因此,如果EXE被篡改,则该方法无法检测到。如何检查签名? 最佳答案 您需要从wintrust.dll调用(P/Invoke)WinVeri

c# - 如何使用 CSI.exe 脚本参数

当你运行csi.exe/?(安装了VisualStudio2015更新2),您将获得以下语法Microsoft(R)VisualC#InteractiveCompilerversion1.2.0.51106Copyright(C)MicrosoftCorporation.Allrightsreserved.Usage:csi[option]...[script-file.csx][script-argument]...我只是想知道如何将此[script-argument]传递到我的csx脚本文件中。比方说,我的csx脚本(c:\temp\a.csx)只有2行如下usingSystem;

c# - 如何从 Windows 窗体执行控制台应用程序?

我想从Windows窗体加载事件运行控制台应用程序(例如app.exe)。我试过System.Diagnostics.Process.Start(),但在打开app.exe后,它会立即关闭。有什么方法可以让我运行app.exe并保持打开状态? 最佳答案 如果您只是想让控制台窗口保持打开状态,您可以使用如下命令运行它:System.Diagnostics.Process.Start(@"cmd.exe",@"/kc:\path\my.exe"); 关于c#-如何从Windows窗体执行控制

c# - Sqlserver.exe 已停止工作

自安装VisualStudio2015Update3以来,我一直收到以下错误。它仅在VisualStudio2015打开时发生,并且无论我是否以本地管理员身份运行都会发生。它很频繁而且很烦人,但似乎并不影响我正在做的任何工作。Code、ServerExplorer、VS都可以正常工作,但弹出的错误消息和Microsoft错误报告在此过程中占用了我50%的CPU使用率。有人知道怎么解决吗?我不想花几个小时来解决它。错误信息:在我的应用程序事件日志中,我看到以下内容:Faultbucket126419871336,type5EventName:SQLException64Response:

c# - 为什么 C# 为相同的源代码生成不同的 EXE?

每次我们重新编译我们的C#应用程序时,我们最终都会得到具有不同MD5签名的EXE。我们在同一台机器上重新编译,相隔几分钟。为什么相同的源代码不会产生相同的输出?有办法解决这个问题吗? 最佳答案 “所以每个程序集都有:一个时间戳,在两个位置与PDB匹配的GUID每次编译都会生成一个看似完全随机的GUID。指示程序集构建的计数器-仅在后续的VisualStudio构建中生成。”来自:http://ritter.vg/#code_adventures_clr1 关于c#-为什么C#为相同的源代

c# - 任务失败,因为找不到 AL.exe,

编译项目时出现以下错误:Taskfailedbecause"AL.exe"wasnotfound,orthecorrectMicrosoftWindowsSDKisnotinstalled.Thetaskislookingfor"AL.exe"inthe"bin"subdirectorybeneaththelocationspecifiedintheInstallationFoldervalueoftheregistrykeyHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MicrosoftSDKs\Windows\v6.0A.Youmaybeabletos

C# 窗口应用程序 : "MyApplication.vshost.exe" Continuous coming at task manager

在我的c#windows应用程序中,每当我在visualstudio2008中打开我的解决方案时,“MyApplication.vshost.exe”总是在窗口任务管理器-->进程选项卡中可见。当我试图杀死它时,它再次出现在“进程”选项卡上。我没有得到vshost.exe创建的内容?为什么它没有从任务管理器中删除?我们如何删除它? 最佳答案 VS2005引入了vshost.exe功能。它的主要目的是使调试启动更快-基本上已经有一个框架正在运行的进程,只要您希望它就可以加载您的应用程序。参见thisMSDNarticle和thisbl

c# - 申请流程不会关闭

我有一个WPF应用程序,关闭该应用程序后,它的进程app.exe*32仍在任务管理器的进程列表中运行。我需要关闭它,因为当我对我的代码进行编辑时出现以下错误-Unabletocopyfile"obj\x86\Release\frontEndTest.exe"to"bin\Release\app.exe".Theprocesscannotaccessthefile'bin\Release\app.exe'becauseitisbeingusedbyanotherprocess.我知道在here.之前有人问过这类问题但是,通过将我的Assembly.cs更改为-,该解决方案对我不起作用[a