gpt4 book ai didi

c# - 为什么 Visual Studio 项目仅限于一种语言?

转载 作者:可可西里 更新时间:2023-11-01 08:14:27 26 4
gpt4 key购买 nike

这个问题的灵感来自于这个问题:In what areas does F# make "absolute no sense in using"?

理论上,应该可以在单个项目中使用任何 .NET 支持的语言。因为每个东西都应该编译成 IL 代码,然后链接成一个程序集。

一些好处包括能够将 F# 用于一个类,其中 F# 更适合实现其功能,而 C# 用于另一个类。

我是否忽略了一些阻止此类设置的技术限制?

最佳答案

一个项目仅限于一种语言,因为在幕后,一个项目只不过是一个 MSBuild 脚本,它调用一个命令行编译器从“包含”的各种源代码文件生成程序集项目文件夹。每种语言都有不同的编译器(例如 CSC.exe 是用于 C# 的编译器),每个项目将其“包含的”源代码转换为程序集所要做的工作因每种语言而异。

为了允许将多种语言编译成一个程序集,该项目基本上必须为每种语言生成一个程序集,然后对它们进行 IL-Merge。这是昂贵的,需要复杂的自动化和项目文件代码生成,并且在大多数情况下这是一个非常边缘的需求,所以 VS 团队根本没有构建它。

关于c# - 为什么 Visual Studio 项目仅限于一种语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5434109/

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