Move file resources out of Resources.resx

The CLI toolchain only supports string literals inside of a RESX file.
Other blobs, such as a reference to a file on disk, are not supported.
Instead their value gets embedded directly as a string literal (type is
ignored). Only supported mechanism is to embed them as a manifest
resource stream.

https://github.com/Microsoft/msbuild/issues/2221
上级 ac642dc5
......@@ -121,6 +121,12 @@
<SubType>Designer</SubType>
<LastGenOutput>Resource.Designer.vb</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="codegen\conversionsilgentestbaseline.txt" />
<EmbeddedResource Include="codegen\conversionsilgentestbaseline1.txt" />
<EmbeddedResource Include="codegen\conversionsilgentestsource.vb" />
<EmbeddedResource Include="codegen\conversionsilgentestsource1.vb" />
<EmbeddedResource Include="codegen\conversionsilgentestsource2.vb" />
</ItemGroup>
<ItemGroup>
<Folder Include="My Project\" />
......
......@@ -5200,10 +5200,10 @@ Char: v
CompileAndVerify(
<compilation>
<file name="a.vb">
<%= My.Resources.Resource.ConversionsILGenTestSource %>
<%= EmitResourceUtil.ConversionsILGenTestSource %>
</file>
</compilation>,
expectedOutput:=My.Resources.Resource.ConversionsILGenTestBaseline)
expectedOutput:=EmitResourceUtil.ConversionsILGenTestBaseline)
End Sub
......@@ -5213,10 +5213,10 @@ Char: v
CompileAndVerify(
<compilation>
<file name="a.vb">
<%= My.Resources.Resource.ConversionsILGenTestSource1 %>
<%= EmitResourceUtil.ConversionsILGenTestSource1 %>
</file>
</compilation>,
expectedOutput:=My.Resources.Resource.ConversionsILGenTestBaseline1)
expectedOutput:=EmitResourceUtil.ConversionsILGenTestBaseline1)
End Sub
......@@ -5226,7 +5226,7 @@ Char: v
CompileAndVerify(
<compilation>
<file name="a.vb">
<%= My.Resources.Resource.ConversionsILGenTestSource2 %>
<%= EmitResourceUtil.ConversionsILGenTestSource2 %>
</file>
</compilation>,
expectedOutput:=<![CDATA[
......
' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
Option Strict On
Option Explicit On
Imports System
Imports System.IO
Imports System.Reflection
Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests
Public Class EmitResourceUtil
' codegen\conversionsilgentestbaseline.txt
Private Shared _conversionsILGenTestBaseline As String
Public Shared ReadOnly Property ConversionsILGenTestBaseline As String
Get
Return GetOrCreate("conversionsilgentestbaseline.txt", _conversionsILGenTestBaseline)
End Get
End Property
' codegen\conversionsilgentestbaseline1.txt
Private Shared _conversionsILGenTestBaseline1 As String
Public Shared ReadOnly Property ConversionsILGenTestBaseline1 As String
Get
Return GetOrCreate("conversionsilgentestbaseline1.txt", _conversionsILGenTestBaseline1)
End Get
End Property
' codegen\conversionsilgentestsource.vb
Private Shared _conversionsILGenTestSource As String
Public Shared ReadOnly Property ConversionsILGenTestSource As String
Get
Return GetOrCreate("conversionsilgentestsource.vb", _conversionsILGenTestSource)
End Get
End Property
' codegen\conversionsilgentestsource1.vb:0
Private Shared _conversionsILGenTestSource1 As String
Public Shared ReadOnly Property ConversionsILGenTestSource1 As String
Get
Return GetOrCreate("conversionsilgentestsource1.vb", _conversionsILGenTestSource1)
End Get
End Property
' codegen\conversionsilgentestsource2.vb
Private Shared _conversionsILGenTestSource2 As String
Public Shared ReadOnly Property ConversionsILGenTestSource2 As String
Get
Return GetOrCreate("conversionsilgentestsource2.vb", _conversionsILGenTestSource2)
End Get
End Property
Private Shared Function GetOrCreate(ByVal name As String, ByRef value As String) As String
If Not value Is Nothing Then
Return value
End If
value = GetManifestResourceString(name)
Return value
End Function
Private Shared Function GetManifestResourceString(name As String) As String
Using reader As New StreamReader(GetType(EmitResourceUtil).GetTypeInfo().Assembly.GetManifestResourceStream(name))
Return reader.ReadToEnd()
End Using
End Function
End Class
End Namespace
......@@ -63,176 +63,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic.UnitTests.My.Resources
resourceCulture = value
End Set
End Property
'''<summary>
''' Looks up a localized string similar to Conversions to Boolean:
'''Boolean: True
'''Boolean: True
'''Boolean: True
'''Boolean: True
'''Boolean: True
'''Boolean: True
'''Boolean: True
'''Boolean: True
'''Boolean: True
'''Boolean: True
'''Boolean: True
'''Boolean: False
'''Boolean: False
'''Boolean: False
'''Boolean: False
'''Boolean: False
'''Boolean: False
'''Boolean: False
'''Boolean: False
'''Boolean: False
'''Boolean: False
'''Boolean: False
'''
'''Conversions from Boolean:
'''SByte: 0
'''Byte: 0
'''Short: 0
'''UShort: 0
'''Integer: 0
'''UInteger: 0
'''Long: 0
'''ULong: 0
'''Single: 0
'''Double: 0
'''Decimal: 0
''' [rest of string was truncated]&quot;;.
'''</summary>
Friend Shared ReadOnly Property ConversionsILGenTestBaseline() As String
Get
Return ResourceManager.GetString("ConversionsILGenTestBaseline", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Conversions from Type Parameter:
'''Object: 12
'''Object: eb32bf0d-6a19-4095-96b7-b4db556a5d48
'''IComparable: 12
'''IComparable: eb32bf0d-6a19-4095-96b7-b4db556a5d48
'''
'''Conversions to Type Parameter:
'''Guid: eb32bf0d-6a19-4095-96b7-b4db556a5d48
'''IComparable: eb32bf0d-6a19-4095-96b7-b4db556a5d48
'''String: 12
'''IComparable: 12
'''
'''Conversions from Value types to Reference types
'''Object: 1
'''Object: 2
'''Object: 3
'''Object: 4
'''Object: 5
'''Object: 6
'''Object: 7
'''Object: 8
'''Object: 10
'''Object: 11
'''Object: 9
'''Object: 1/1/0001 8:30 [rest of string was truncated]&quot;;.
'''</summary>
Friend Shared ReadOnly Property ConversionsILGenTestBaseline1() As String
Get
Return ResourceManager.GetString("ConversionsILGenTestBaseline1", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Option Strict Off
'''Imports System
'''Imports System.Collections.Generic
'''Imports System.Globalization
'''
'''Module Module1
'''
'''
''' Sub Main()
''' Dim BoFalse As Boolean
''' Dim BoTrue As Boolean
''' Dim SB As SByte
''' Dim By As Byte
''' Dim Sh As Short
''' Dim US As UShort
''' Dim [In] As Integer
''' Dim UI As UInteger
''' Dim Lo As Long
''' Dim UL As ULong
''' Dim De As Decimal
''' Dim Si As Single
''' Dim [Do] As Double
''' Dim SBZero As S [rest of string was truncated]&quot;;.
'''</summary>
Friend Shared ReadOnly Property ConversionsILGenTestSource() As String
Get
Return ResourceManager.GetString("ConversionsILGenTestSource", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Option Strict Off
'''Imports System
'''Imports System.Collections.Generic
'''Imports System.Globalization
'''
'''Module Module1
'''
'''
''' Sub Main()
''' Dim BoFalse As Boolean
''' Dim BoTrue As Boolean
''' Dim SB As SByte
''' Dim By As Byte
''' Dim Sh As Short
''' Dim US As UShort
''' Dim [In] As Integer
''' Dim UI As UInteger
''' Dim Lo As Long
''' Dim UL As ULong
''' Dim De As Decimal
''' Dim Si As Single
''' Dim [Do] As Double
''' Dim SBZero As S [rest of string was truncated]&quot;;.
'''</summary>
Friend Shared ReadOnly Property ConversionsILGenTestSource1() As String
Get
Return ResourceManager.GetString("ConversionsILGenTestSource1", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Option Strict Off
'''Imports System
'''Imports System.Collections.Generic
'''Imports System.Globalization
'''
'''Module Module1
'''
'''
''' Sub Main()
''' System.Console.WriteLine(&quot;Conversions from Nothing literal:&quot;)
'''
''' PrintResultBo(Nothing)
''' PrintResultSB(Nothing)
''' PrintResultBy(Nothing)
''' PrintResultSh(Nothing)
''' PrintResultUs(Nothing)
''' PrintResultIn(Nothing)
''' PrintResultUI(Nothing)
''' PrintResultLo(Nothing)
''' PrintResultUL(Nothing)
''' Prin [rest of string was truncated]&quot;;.
'''</summary>
Friend Shared ReadOnly Property ConversionsILGenTestSource2() As String
Get
Return ResourceManager.GetString("ConversionsILGenTestSource2", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to &lt;Global&gt;
''' &lt;type name=&quot;&amp;lt;Module&amp;gt;&quot; /&gt;
......
......@@ -120,21 +120,6 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="ConversionsILGenTestBaseline" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>codegen\conversionsilgentestbaseline.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="ConversionsILGenTestBaseline1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>codegen\conversionsilgentestbaseline1.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="ConversionsILGenTestSource" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>codegen\conversionsilgentestsource.vb;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="ConversionsILGenTestSource1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>codegen\conversionsilgentestsource1.vb;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="ConversionsILGenTestSource2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>codegen\conversionsilgentestsource2.vb;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
</data>
<data name="EmitSimpleBaseLine1" xml:space="preserve">
<value>&lt;Global&gt;
&lt;type name="&amp;lt;Module&amp;gt;" /&gt;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册