Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
fsharp
提交
97904fc3
F
fsharp
项目概览
dotNET Platform
/
fsharp
12 个月 前同步成功
通知
0
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fsharp
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
97904fc3
编写于
8月 22, 2016
作者:
K
Kevin Ransom (msft)
提交者:
GitHub
8月 22, 2016
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1462 from KevinRansom/master
Fix fsharp.core.dll copies
上级
695069df
f41f9631
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
15 deletion
+20
-15
src/fsharp/fsc.fs
src/fsharp/fsc.fs
+18
-15
src/update.cmd
src/update.cmd
+2
-0
未找到文件。
src/fsharp/fsc.fs
浏览文件 @
97904fc3
...
...
@@ -1810,23 +1810,25 @@ let copyFSharpCore(outFile: string, referencedDlls: AssemblyReference list) =
let
outDir
=
Path
.
GetDirectoryName
(
outFile
)
let
fsharpCoreAssemblyName
=
GetFSharpCoreLibraryName
()
+
".dll"
let
fsharpCoreDestinationPath
=
Path
.
Combine
(
outDir
,
fsharpCoreAssemblyName
)
if
not
(
File
.
Exists
(
fsharpCoreDestinationPath
))
then
match
referencedDlls
|>
Seq
.
tryFind
(
fun
dll
->
String
.
Equals
(
Path
.
GetFileName
(
dll
.
Text
),
fsharpCoreAssemblyName
,
StringComparison
.
CurrentCultureIgnoreCase
))
with
|
Some
referencedFsharpCoreDll
->
File
.
Copy
(
referencedFsharpCoreDll
.
Text
,
fsharpCoreDestinationPath
)
|
None
->
let
executionLocation
=
let
copyFileIfDifferent
src
dest
=
if
not
(
File
.
Exists
(
dest
))
||
(
File
.
GetCreationTimeUtc
(
src
)
<>
File
.
GetCreationTimeUtc
(
dest
))
then
File
.
Copy
(
src
,
dest
,
true
)
match
referencedDlls
|>
Seq
.
tryFind
(
fun
dll
->
String
.
Equals
(
Path
.
GetFileName
(
dll
.
Text
),
fsharpCoreAssemblyName
,
StringComparison
.
CurrentCultureIgnoreCase
))
with
|
Some
referencedFsharpCoreDll
->
copyFileIfDifferent
referencedFsharpCoreDll
.
Text
fsharpCoreDestinationPath
|
None
->
let
executionLocation
=
#
if
FX_RESHAPED_REFLECTION
TypeInThisAssembly
(
null
).
GetType
()
.
GetTypeInfo
()
.
Assembly
.
Location
TypeInThisAssembly
(
null
).
GetType
()
.
GetTypeInfo
()
.
Assembly
.
Location
#
else
Assembly
.
GetExecutingAssembly
()
.
Location
Assembly
.
GetExecutingAssembly
()
.
Location
#
endif
let
compilerLocation
=
Path
.
GetDirectoryName
(
executionLocation
)
let
compilerFsharpCoreDllPath
=
Path
.
Combine
(
compilerLocation
,
fsharpCoreAssemblyName
)
if
File
.
Exists
(
compilerFsharpCoreDllPath
)
then
File
.
Copy
(
compilerFsharpCoreDllPath
,
fsharpCoreDestinationPath
)
else
errorR
(
Error
(
FSComp
.
SR
.
fsharpCoreNotFoundToBeCopied
()
,
rangeCmdArgs
))
let
compilerLocation
=
Path
.
GetDirectoryName
(
executionLocation
)
let
compilerFsharpCoreDllPath
=
Path
.
Combine
(
compilerLocation
,
fsharpCoreAssemblyName
)
if
File
.
Exists
(
compilerFsharpCoreDllPath
)
then
copyFileIfDifferent
compilerFsharpCoreDllPath
fsharpCoreDestinationPath
else
errorR
(
Error
(
FSComp
.
SR
.
fsharpCoreNotFoundToBeCopied
()
,
rangeCmdArgs
))
//----------------------------------------------------------------------------
// main - split up to make sure that we can GC the
...
...
@@ -2040,7 +2042,8 @@ let main4 (Args (tcConfig, errorLogger: ErrorLogger, ilGlobals, ilxMainModule, o
AbortOnError
(
errorLogger
,
tcConfig
,
exiter
)
if
tcConfig
.
copyFSharpCore
then
// Don't copy referenced fharp.core.dll if we are building fsharp.core.dll
if
tcConfig
.
copyFSharpCore
&&
not
tcConfig
.
compilingFslib
then
copyFSharpCore
(
outfile
,
tcConfig
.
referencedDLLs
)
SqmLoggerWithConfig
tcConfig
errorLogger
.
ErrorNumbers
errorLogger
.
WarningNumbers
...
...
src/update.cmd
浏览文件 @
97904fc3
...
...
@@ -26,6 +26,8 @@ if not "%WindowsSDK_ExecutablePath_x86%" == "" goto :havesdk
set
REGEXE32BIT
=
reg.exe
if
not
"
%OSARCH%
"
==
"x86"
set
REGEXE32BIT
=
%WINDIR%
\syswow64\reg.exe
FOR
/F
"tokens=2* delims= "
%%A
IN
(
'
%REGEXE3
2BIT
%
QUERY "HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6.2\WinSDK-NetFx40Tools" /v InstallationFolder'
)
DO
SET
WINSDKNETFXTOOLS_x86
=
%%B
FOR
/F
"tokens=2* delims= "
%%A
IN
(
'
%REGEXE3
2BIT
%
QUERY "HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6.1\WinSDK-NetFx40Tools" /v InstallationFolder'
)
DO
SET
WINSDKNETFXTOOLS_x86
=
%%B
FOR
/F
"tokens=2* delims= "
%%A
IN
(
'
%REGEXE3
2BIT
%
QUERY "HKLM\Software\Microsoft\Microsoft SDKs\NETFXSDK\4.6\WinSDK-NetFx40Tools" /v InstallationFolder'
)
DO
SET
WINSDKNETFXTOOLS_x86
=
%%B
if
"
%WINSDKNETFXTOOLS
_x86
%
"
==
""
FOR
/F
"tokens=2* delims= "
%%A
IN
(
'
%REGEXE3
2BIT
%
QUERY "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools" /v InstallationFolder'
)
DO
SET
WINSDKNETFXTOOLS_x86
=
%%B
if
"
%WINSDKNETFXTOOLS
_x86
%
"
==
""
FOR
/F
"tokens=2* delims= "
%%A
IN
(
'
%REGEXE3
2BIT
%
QUERY "HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools" /v InstallationFolder'
)
DO
SET
WINSDKNETFXTOOLS_x86
=
%%B
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录