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

本文关键字:混合 net 语言 项目 一个 | 更新日期: 2023-09-27 17:47:24

您能在一个项目中混合使用.net语言吗?因此,我想调用其他源文件的类和方法。

对于网络和应用程序?

我尤其对F#和C#感兴趣。

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

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

这里有一个很好的例子。

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

然后,您可以在构建时使用编译器引用其他网络模块,或者使用Assembly Linker(Al.exe)。甚至还有一个msbuild任务:Al(Assembly Linkr)任务。

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

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

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

您可以在网站项目中执行,而不是先编译项目:http://www.aspnetlibrary.com/articledetails.aspx?article=Use-C-Sharp和VB.NET在这个名称项目中。网站的BuildProvider可以动态解析语言元素。

.NET的BuilderProvider仍然不适用于非网站项目,所以对于标准的应用程序混合Intellisense来说,你运气不好。