gpt4 book ai didi

c# - 在另一个 c# winform 中添加 c# windows exe 作为引用是否正确?

转载 作者:行者123 更新时间:2023-12-02 15:49:28 25 4
gpt4 key购买 nike

我有 C# winform 应用程序。我可以在另一个 winform 应用程序中添加此 exe 作为引用。

它像 dll 类型一样工作得很好。

到目前为止,我没有发现任何问题。在这种情况下有什么问题需要我研究吗?

最佳答案

是的,这很好。 CLR 实际上根本不关心文件扩展名,添加引用时 IDE 也不关心。

CLR 所知道的只是程序集的显示名称。换句话说,当要求它查找程序集时,它会首先查找全名。例如:

    ClassLibrary1, Version=1.2.3.4, Culture=neutral, PublicKeyToken=b77a5c561934e089

它首先在 GAC 中查找显示名称 (ClassLibrary1)、版本和 token 的完全匹配。如果失败,它就会在程序的探测路径中查找文件。只是“ClassLibrary1”。请注意,根本没有指定文件扩展名。它将首先尝试查找“ClassLibrary1.EXE”。如果失败,它接下来会尝试查找“ClassLibrary1.DLL”。不会尝试进一步的扩展。顺便说一句,您可以看到这是通过 Fuslogvw.exe 完成的。

请注意,这种方法存在一个令人讨厌的问题,DLL 不能与 EXE 具有相同的文件名。当 CLR 被要求解析 DLL 程序集时,它会加载 EXE。这当然是一个轰动。发现的一个问题the hard way 。它首先查找 EXE,而不是最后一个,这很奇怪。

所以,没什么可担心的。只需将 .exe 重命名为 .dll 也可以。

关于c# - 在另一个 c# winform 中添加 c# windows exe 作为引用是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26356306/

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