我正在尝试在TeamCity上构建一个F#项目。不幸的是构建代理没有安装F#所以我已经将FSharp.Compiler.Tools nuget包添加到我的项目中。
当teamcity尝试构建我的项目时,我收到以下错误(在从visual studio类库模板创建的全新项目中)。
[Fsc] Microsoft (R) F# Compiler version 4.1
[15:12:00][Fsc] Copyright (c) Microsoft Corporation. All Rights Reserved.
[15:12:02][Fsc]
[15:12:02][Fsc] C:\TeamCity\work\3c40581f0aabd3be\Source\MyProject\AssemblyInfo.fs(43, 1): error FS0010: Incomplete structured construct at or before this point in definition
[15:12:03][Step 8/21] Error message is logged
该项目在VS2017中本地构建良好,并在命令提示符下使用MSBuild。
有什么方法可以解决这个问题吗?我没有权限在构建代理上安装F#。
编辑:这是AssemblyInfo.fs的内容: 命名空间MyProject.AssemblyInfo
open System.Reflection
open System.Runtime.CompilerServices
open System.Runtime.InteropServices
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[<assembly: AssemblyTitle("MyProject")>]
[<assembly: AssemblyDescription("")>]
[<assembly: AssemblyConfiguration("")>]
[<assembly: AssemblyCompany("")>]
[<assembly: AssemblyProduct("MyProject")>]
[<assembly: AssemblyCopyright("Copyright © 2017")>]
[<assembly: AssemblyTrademark("")>]
[<assembly: AssemblyCulture("")>]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[<assembly: ComVisible(false)>]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[<assembly: Guid("7a1189cf-d923-4367-991c-d95b1f045712")>]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [<assembly: AssemblyVersion("1.0.*")>]
[<assembly: AssemblyVersion("1.0.0.0")>]
[<assembly: AssemblyFileVersion("1.0.0.0")>]
do
()
答案 0 :(得分:0)
好的,似乎GitVersion正在teamcity代理上被调用,并且AssemblyInformationalVersion
属性追加到AssemblyInfo.fs
的末尾(在do ()
之后)。在AssemblyInformationalVersion
块上方添加空do ()
可解决问题:gitversion然后修改现有属性的值,而不是添加新属性。