你能在一个项目中混合使用.net语言吗?所以预编译,我想调用其他源文件的类和方法。
对于网络和应用程序?
特别是我对F#和C#感兴趣。
答案 0 :(得分:16)
答案 1 :(得分:11)
是的,您可以,但Visual Studio不直接支持它。你要做的是将代码编译成netmodules,然后将它们组合成一个程序集。编译器支持生成这些netmodules的“/ target:module”选项。
然后,您可以在构建时使用编译器引用其他网络模块,或使用Assembly Linker (Al.exe)。甚至还有一个msbuild任务:AL (Assembly Linker) Task。
MSDN上提供了完整概述:How to: Build a Multifile Assembly
答案 2 :(得分:8)
CMS提到了一种有趣的方法,但实际上我建议你保持简单,并为C#和F#代码提供不同的程序集(项目)。 C#和F#之间有充分记录的通信点(例如here和here) - 我推荐它们。 C#和F#之间的差异(尤其是F#具有不同的运行时!)非常大......
答案 3 :(得分:2)
您可以在每个程序集项目(库DLL)中指定语言,并在同一解决方案中使用其中的一些,但我认为您不能在同一程序集中混合使用语言
答案 4 :(得分:2)
您可以在网站项目中执行此操作而不是编译第一个项目:http://www.aspnetlibrary.com/articledetails.aspx?article=Use-C-Sharp-and-VB.NET-in-the-same-project。网站的BuildProvider即时解析语言元素。
.NET BuilderProvider仍然不适用于非网站项目,因此您对标准应用混合智能感知运气不利。