首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >假CscHelper: Csc对csc?

假CscHelper: Csc对csc?
EN

Stack Overflow用户
提问于 2016-01-06 17:57:04
回答 1查看 85关注 0票数 1

我不明白这两者有什么区别。

我想要编译一个c#文件到一个dll使用假的CscHelper。这是我的构建文件:

代码语言:javascript
复制
// include Fake lib
#r @"packages/FAKE/tools/FakeLib.dll"
open Fake
open CscHelper

Target "Default" (fun _ ->
    ["Discover.cs"] |> csc (fun p -> { p with Output="Discover.dll"; Target=Library })
)

RunTargetOrDefault "Default"

这是我得到的错误:

代码语言:javascript
复制
build.fsx(7,24): error FS0001: Type mismatch. Expecting a
    string list -> unit
but given a
    string list -> int
The type 'unit' does not match the type 'int'

如果我将"csc“替换为"Csc”,它将正确编译。为什么?在文档中,除了单个字符之外,代码示例实际上是完全相同的。方法签名看起来与返回类型不同。为什么有两个变体,你如何使小写一工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-05 13:27:25

小写形式是适当的。您可以始终将结果输送到忽略函数,以确保返回一个unit ()。

代码语言:javascript
复制
// include Fake lib
#r @"packages/FAKE/tools/FakeLib.dll"
open Fake
open CscHelper

Target "Default" (fun _ ->
    ["Discover.cs"] |> csc (fun p -> { p with Output="Discover.dll"; Target=Library }) |> ignore
)

RunTargetOrDefault "Default"

实际的工具提示告诉您正在发生什么(它返回退出状态代码,它是int类型的):

类型错配。期待一个“字符串列表->单元” 但是给定一个“string list -> int” 类型'unit‘不匹配类型' int’val csc : setParams:(CscParams -> CscParams) -> inputFiles:string list -> int全名: Fake.CscHelper.csc用指定的参数编译给定的C#源文件。 参数

  • setParams -用于覆盖默认CSC参数的函数。
  • inputFiles - C#输入文件。

返回

编译过程的退出状态代码。

示例

"file1.cs";"file2.cs“|> csc (有趣的参数-> {->=.目标=.}

你可能已经发现了或者没有发现,但是每个人都知道有选择是很好的。谢谢。日安。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34639610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档