你能在一个项目中混合使用.net语言吗?

你能在一个项目中混合使用.net语言吗? 所以预编译,我想调用其他源文件的类和方法。

对于网络和应用程序?

特别是我对F#和C#感兴趣。

您可以将单个程序集中的语言与ILMerge和MSBuild混合使用 。

这是一个非常好的例子。

是的,您可以,但Visual Studio不直接支持它。 你要做的是将代码编译为netmodules,然后将它们组合成一个程序集。 编译器支持生成这些netmodule的“/ target:module”选项。

然后,您可以在构建时使用编译器引用其他netmodule,或使用Assembly Linker(Al.exe) 。 甚至还有一个msbuild任务: AL(程序集链接器)任务 。

MSDN上提供了完整的概述: 如何:构建多文件程序集

CMS提到了一种有趣的方法,但实际上我建议你保持简单,并为C#和F#代码提供不同的程序集(项目)。 C#和F#之间有很好的通信点(比如这里和这里 ) – 我推荐它们。 C#和F#之间的差异(尤其是F#具有不同的运行时!)非常大……

你可以在每个汇编项目(库DLL)中指定语言,并在同一个解决方案中使用其中的几个,但我认为你不能在同一个程序集中混合语言

您可以在网站项目而不是编译第一个项目中执行此操作: http : //www.aspnetlibrary.com/articledetails.aspx? article = Use-C-Sharp-and-VB.NET-in-the- same-项目 。 网站的BuildProvider即时解析语言元素。

.NET的BuilderProvider仍然不适用于非网站项目,因此您对标准app混合Intellisense运气不利 。