单个x86构建的程序集使整个程序集以32位执行 - c#

我的程序(一个控制台应用程序)引用了其他几个程序集(许多开源库)。我使用“任何CPU”选项集(使用VS2008)构建了程序集。当我从Windows Server 2008 x64计算机上的64位命令提示符启动程序集时,该进程始终以32位进程启动!

我仔细阅读了我的参考文献,似乎我已经参考了32位程序集的参考文献。单个引用能否导致整个程序集以32位开始?

另外,我使用ILMerge将所有引用的程序集合并到一个程序集中。也许与它有关?

有人可以帮我弄清楚这里发生了什么吗?

参考方案

如果需要加载32位程序集,则整个过程将需要为32位。您可以将主应用程序定位为“任何CPU”,但是它将运行64位,并且在尝试加载32位程序集时在运行时失败。

如果您将x86程序集作为合并的一部分,则ILMerge足够聪明,可以将主入口程序集从AnyCPU切换到x86,以防止出现问题。

如果要运行64位,则需要使所有程序集均为64位或AnyCPU。

如何在ASP.NET Core Web应用程序中增加JSON反序列化MaxDepth限制 - c#

我们正在将ASP.NET Core 2.1与.NET Framework 4.6.2结合使用。我们有一个客户需要向我们的Web应用程序发送一个很大程度上嵌套的json结构。当他们进行此调用时,我们将输出以下日志并返回错误: 读取器的MaxDepth超过了32。路径“ super.long.path.to property”,第1行,位置42111。”我浏览了…

asp.net oledbcommand返回所有行 - c#

我正在使用Oledbconnection连接到Microsoft Access数据库,并且正在使用OleDbCommand检索一些信息。我在数据库中有一个名为retrieveInfo的查询,该查询检索3行数据。字段中有一些重复项,但是应该是这样。我的数据如下所示: Name Email A [email protected] B [email protected] B C@gmai…

java.net.URI.create异常 - java

java.net.URI.create("http://adserver.adtech.de/adlink|3.0") 抛出java.net.URISyntaxException: Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0 虽然n…

如何从JSON文件反序列化.NET Core中封装的对象表? - c#

我想从外部API检索足球联赛的集合。来自服务器的响应如下所示:{ "api": { "results": 1496, "leagues": [ { "league_id": 1, ..... 返回的对象由“ api”字段组成,其中包含“结果”和“联盟”。我想反序列化代码并将其映射…

在ASP.NET WebForms中在服务器端初始化bootsrap datatimepicker - javascript

我有这个HTML<div class='datepicker input-group date' id='datetimepickerStart'> <input type='text' class="form-control" /> <span c…