Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
2eb0ed0b
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2eb0ed0b
编写于
9月 28, 2015
作者:
A
Andy Gocke
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #5490 from agocke/ChangeGetEncodingCallToUse0
Always use GetEncoding(0) to try getting the default encoding
上级
f4255f1a
5a4268f4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
36 deletion
+14
-36
src/Compilers/Core/Portable/EncodedStringText.cs
src/Compilers/Core/Portable/EncodedStringText.cs
+8
-13
src/Compilers/Helpers/CoreClrShim.cs
src/Compilers/Helpers/CoreClrShim.cs
+6
-23
未找到文件。
src/Compilers/Core/Portable/EncodedStringText.cs
浏览文件 @
2eb0ed0b
...
...
@@ -30,22 +30,17 @@ private static Encoding GetFallbackEncoding()
{
try
{
if
(
CoreClrShim
.
IsCoreClr
)
if
(
CoreClrShim
.
CodePagesEncodingProvider
.
Type
!=
null
)
{
// If we're running on CoreCLR
there is no "default" codepage but
//
we should be able to grab 1252 from System.Text.Encoding.CodePages
// If we're running on CoreCLR
we have to register the CodePagesEncodingProvider
//
first
CoreClrShim
.
Encoding
.
RegisterProvider
(
CoreClrShim
.
CodePagesEncodingProvider
.
Instance
);
// We should now have 1252 from the CodePagesEncodingProvider
return
PortableShim
.
Encoding
.
GetEncoding
(
1252
);
}
else
{
// If we're running on the desktop framework we should be able
// to get the default ANSI code page in the operating system's
// regional and language settings,
return
PortableShim
.
Encoding
.
GetEncoding
(
0
)
??
PortableShim
.
Encoding
.
GetEncoding
(
1252
);
}
// Try to get the default ANSI code page in the operating system's
// regional and language settings, and fall back to 1252 otherwise
return
PortableShim
.
Encoding
.
GetEncoding
(
0
)
??
PortableShim
.
Encoding
.
GetEncoding
(
1252
);
}
catch
(
NotSupportedException
)
{
...
...
src/Compilers/Helpers/CoreClrShim.cs
浏览文件 @
2eb0ed0b
...
...
@@ -14,36 +14,19 @@ namespace Roslyn.Utilities
/// </summary>
internal
static
class
CoreClrShim
{
internal
static
bool
IsCoreClr
{
get
;
}
=
Type
.
GetType
(
"System.Runtime.Loader.AssemblyLoadContext, System.Runtime.Loader, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
,
throwOnError
:
false
)
!=
null
;
internal
static
void
Initialize
()
{
// This method provides a way to force the static initializers of each type below
// to run. This ensures that the static field values will be computed eagerly
// rather than lazily on demand. If you add a new nested class below to access API
// surface area, be sure to "touch" the Type field here.
Touch
(
CodePagesEncodingProvider
.
Type
);
}
private
static
void
Touch
(
Type
type
)
{
// Do nothing.
}
internal
static
class
CodePagesEncodingProvider
{
internal
static
readonly
Type
Type
=
Type
.
GetType
(
"System.Text.CodePagesEncodingProvider, System.Text.Encoding.CodePages, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
,
throwOnError
:
false
);
Type
.
GetType
(
"System.Text.CodePagesEncodingProvider, "
+
"System.Text.Encoding.CodePages, "
+
"Version=4.0.0.0, Culture=neutral, "
+
"PublicKeyToken=b03f5f7f11d50a3a"
,
throwOnError
:
false
);
private
static
PropertyInfo
s_instance
=
Type
.
GetTypeInfo
()
?
.
GetTypeInfo
()
.
GetDeclaredProperty
(
"Instance"
);
internal
static
object
Instance
=>
s_instance
.
GetValue
(
null
);
internal
static
object
Instance
=>
s_instance
?
.
GetValue
(
null
);
}
internal
static
class
Encoding
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录