我的构建计算机上的F#4.1编译器与我的开发计算机上的F#4.1编译器的--targetProfile
选项略有不同。
在我的开发机器上,当我输入fsc.exe -?
时,输出包括以下内容:
Microsoft (R) F# Compiler version 4.1
:
--targetprofile:<string>
Specify target framework profile of this assembly.
Valid values are mscorlib, netcore or netstandard.
:
在我的构建服务器上,相同的命令输出以下内容:
Microsoft (R) F# Compiler version 4.1
:
--targetprofile:<string>
Specify target framework profile of this assembly.
Valid values are mscorlib or netcore.
:
请注意,dev机器包含netstandard
作为有效值,但构建服务器不包含。{/ p>
因此,当我尝试在构建服务器上构建项目时,我得到编译时错误“error FS1052: Invalid value 'netstandard' for '--targetprofile'
”
发生了什么事?有没有办法显示F#4.1编译器的真实版本号? fsc.exe --version
不起作用。
答案 0 :(得分:2)
我不认为这与F#编译器版本有关,而是与安装的.NET SDK有关。 检查the target framework TFMs。
我有mscorlib, netcore or netstandard
,我会抓住他们来自哪里:
mscorlib
...附带Windows netcore
netstandard
随.NET Core SDK一起安装如果是这种情况,我会想象在构建服务器上安装.NET Core SDK会将其排序,因为您似乎是以netstandard为目标。