jra*_*ali 17 .net msbuild f# build f#-fake
我是.NET生态系统的新手,我正在使用来自Java-land的F#.我正试图围绕工具和构建过程.
我的理解是MSBuild是.NET应用程序的构建工具,它的构建配置是在.sln和/或.*proj文件中用XML定义的.假设这类似于java中的pom.xml或build.gradle文件,我是否正确?
无论如何,如果MSBuild是构建工具,那么FAKE到底是什么?什么可以做那个MSBuild不能做到的?它只是围绕MSBuild配置文件更友好的"包装器"吗?
我看到了一个名为Ionide和F#开源环境的视频,其中主要的演示者提供了一个原因.至少在VSCode中仍然需要.*proj文件.以下不是直接引用,但接近结尾,他说的是
在与编译器通信和使代码工作方面,根本不需要MSBuild系统.我们无法将它拉出来的唯一原因是因为F#编译器服务 - 提供工具提示信息,某种类型的类型检查等 - 取决于项目文件,但我们正在努力扩展它以便它可以使用不同类型的格式.
Tar*_*mil 18
好吧,Fake的想法是,构建不仅仅是编译.典型的Fake设置将实际编译委托给MSBuild,并负责围绕它的任务:运行测试,打包,部署等.虽然在技术上可以在MSBuild中执行这些操作,但它的XML语法和特性可以使它成为可能.一个非常痛苦的经历.因此,通常最好保持.*proj纯声明(列出源文件,引用和属性)并使用Fake来描述构成构建的任务序列,其中一个任务是调用MSBuild来执行编译.
至于为什么我们仍然倾向于使用MSBuild作为中介,而不是直接从Fake调用编译器,这主要是因为IDE依赖.*proj作为项目描述格式,并在你点击"Build"时自己调用MSBuild,所以我们想要确保从IDE编译和从命令行构建之间的一致性.
| 归档时间: |
|
| 查看次数: |
755 次 |
| 最近记录: |