【问题标题】:Can assembly name and it's file name be different?程序集名称和它的文件名可以不同吗?
【发布时间】:2012-10-29 11:49:20
【问题描述】:

我们遵循CompanyName.ProductName.LibraryName 格式作为我们的程序集文件命名约定。但是对于 Windows 应用程序,上述格式的输出 exe 文件看起来很奇怪,看起来像这样:Company.Product.Library.exe。我更喜欢将其作为 Library.exe

是否可以在不更改程序集名称的情况下获得所需的可执行文件名?

【问题讨论】:

  • 这在 .NET Fx 中肯定是可能的,因为我们的测试库中有这样一个示例程序集(因为我们构建了一个分析 .NET 代码的工具)。但是我们没有构建它,我不知道如何编译 asm,我没有找到特定于程序集名称的 csc.exe 编译器选项。我对 .NET Core 的猜测是,在这个平台上不可能获得这样的程序集,因为目标 fx 目录(如 /net5.0)已成为规则,这意味着重命名程序集文件以将其添加到目标 fx 的理由更少。

标签: .net visual-studio


【解决方案1】:

对于 .NET 框架,根据官方文档,答案是:它取决于您部署程序集的位置:

https://docs.microsoft.com/en-us/dotnet/standard/assembly/names

在 .NET Framework 中,如果将强名称程序集放在全局程序集缓存中,则程序集的文件名必须与程序集名称匹配,不包括文件扩展名,例如 .exe 或 .dll。例如,如果程序集的文件名为 myAssembly.dll,则程序集名称必须为 myAssembly。仅部署在根应用程序目录中的私有程序集可以具有与文件名不同的程序集名称。

【讨论】:

    【解决方案2】:

    试用此项目的属性并更改“程序集名称>>应用程序”选项卡

    【讨论】:

    • 感谢您的回复,我已经知道这个设置了。听起来可能很傻,但我只是想知道,“程序集名称”=“文件名”吗?请重新阅读我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    相关资源
    最近更新 更多