gpt4 book ai didi

c# - 为什么忽略 STAThread 属性?

转载 作者:行者123 更新时间:2023-11-30 14:36:20 25 4
gpt4 key购买 nike

与奇怪的行为......

vs strange behavior

大家好!

谁能解释一下,怎么会这样?

谢谢,亚历克斯。

最佳答案

我仍然觉得链接的答案有点难以接受,特别是因为 OP 承认他实际上没有有一个与 EXE 同名的 DLL。我也无法复制它。

但是,该解释有一些可信度,我注意到 Fusion 在被要求搜索程序集时做了一些奇怪的事情。您可以在使用 Fuslogvw.exe 时看到这一点,启用“记录所有绑定(bind)”选项。奇怪的是,当被要求加载程序集时,它会搜索 DLL 和 EXE。以下是测试控制台应用程序日志条目的片段:

LOG: Attempting download of new URL file:///C:/projects/ConsoleApplication3/bin/Debug/ConsoleApplication3.DLL.
LOG: Attempting download of new URL file:///C:/projects/ConsoleApplication3/bin/Debug/ConsoleApplication3/ConsoleApplication3.DLL.
LOG: Attempting download of new URL file:///C:/projects/ConsoleApplication3/bin/Debug/ConsoleApplication3.EXE.
LOG: Assembly download was successful. Attempting setup of file: C:\projects\ConsoleApplication3\bin\Debug\ConsoleApplication3.exe
LOG: Entering run-from-source setup phase.

向右滚动以查看它首先如何查找 DLL。以及它在与程序集同名的子目录中的外观。这里的 DLL Hell 很奇怪而且潜力巨大。在故障模式下,CLR 以某种方式探测 [STAThread] 属性的错误程序集。还解释了 Connect 反馈文章奇怪的“作为外部关闭”解雇,Fusion 归 Microsoft 的 Windows 组所有,而不是 DevDiv。

无论如何,有迹象表明,只需重命名输出文件即可解决您的问题。项目+属性,构建选项卡,输出路径设置。

关于c# - 为什么忽略 STAThread 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10672793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com