-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Isolate MSBuildTaskHost from the rest of MSBuild Codebase #13232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
143 commits
Select commit
Hold shift + click to select a range
5da3cc2
Copy all external linked files into MSBuildTaskHost
DustinCampbell b75f9a9
Separate $(DefineConstants) properties for net3* and net4*
DustinCampbell 92d573b
MSBuildTaskHost: Move all polyfills to Polyfills folder
DustinCampbell 04e8cd3
MSBuildTaskHost: Delete Polyfills\StringSyntaxAttribute.cs
DustinCampbell 66effaf
MSBuildTaskHost: Remove FEATURE_LEGACY_GETCURRENTDIRECTORY
DustinCampbell acd2a60
MSBuildTaskHost: Remove FEATURE_LEGACY_GETFULLPATH
DustinCampbell 423b462
MSBuildTaskHost: Remove FEATURE_ASSEMBLY_LOCATION
DustinCampbell 1f14ea2
MSBuildTaskHost: Remove FEATURE_CULTUREINFO_GETCULTURES
DustinCampbell a705a93
MSBuildTaskHost: Remove FEATURE_APM
DustinCampbell 8dd5bde
Remove FEATURE_* constants from .NET 3.5 builds unused by MSBuildTask…
DustinCampbell de8dfaf
MSBuildTaskHost: Remove FEATURE_PIPE_SECURITY and related constant
DustinCampbell 2ce4a7b
MSBuildTaskHost: Remove FEATURE_SECURITY_PERMISSIONS
DustinCampbell d1ae88e
MSBuildTaskHost: Remove FEATURE_SECURITY_PRINCIPAL_WINDOWS
DustinCampbell b50526d
MSBuildTaskHost: Remove FEATURE_THREAD_ABORT
DustinCampbell b3a3380
MSBuildTaskHost: Remove FEATURE_VISUALSTUDIOSETUP
DustinCampbell 7744be1
Remove Feature* properties from .NET 3.5 builds
DustinCampbell d61cf7c
MSBuildTaskHost: Remove FEATURE_REPORTFILEACCESSES
DustinCampbell aeb3e74
MSBuildTaskHost: Remove AppContext support from BuildEnvironmentHelper
DustinCampbell 08b7d0c
MSBuildTaskHost: Remove VS Setup API from BuildEnviromentHelper
DustinCampbell 228ec37
MSBuildTaskHost: Remove RUNTIME_TYPE_NETCORE code paths
DustinCampbell 39ed041
MSBuildTaskHost: Remove a few unused types
DustinCampbell ecc03a3
MSBuildTaskHost: Remove NET35 disabled code blocks
DustinCampbell dd9c8a1
MSBuildTaskHost: Remove NET* disabled code blocks
DustinCampbell 3a4dc40
MSBuildTaskHost: Remove BUILDINGAPPXTASKS code blocks
DustinCampbell d6e9d35
MSBuildTaskHost: Remove CLR2COMPATIBILITY disabled code blocks
DustinCampbell 629bbbb
MSBuildTaskHost: Remove TASKHOST disabled code blocks
DustinCampbell fc3acde
MSBuildTaskHost: Remove FEATURE_ASSEMBLYLOADCONTEXT
DustinCampbell c89a8f4
MSBuildTaskHost: Remove FEATURE_PIPEOPTIONS_CURRENTUSERONLY
DustinCampbell 652e1b0
MSBuildTaskHost: Remove FEATURE_NET35_TASKHOST
DustinCampbell f742101
MSBuildTaskHost: Remove NO_FRAMEWORK_IVT
DustinCampbell c13ff0f
MSBuildTaskHost: Remove FEATURE_APPDOMAIN
DustinCampbell 73e68d4
MSBuildTaskHost: Remove OS runtime checks
DustinCampbell 6db1744
MSBuildTaskHost: Remove uncalled members from FileUtilities.cs
DustinCampbell 9a58fc9
MSBuildTaskHost: Reduce accessibility of FileUtilities.cs members
DustinCampbell 422f462
MSBuildTaskHost: Merge FrameworkFileUtilities into FileUtilities
DustinCampbell aa924a0
MSBuildTaskHost: Remove uncalled members from XMakeAttributes.cs
DustinCampbell 5b3f141
MSBuildTaskHost: Remove uncalled members from TypeLoader.cs
DustinCampbell 8e9421a
MSBuildTaskHost: Remove NamedPipeUtil.cs
DustinCampbell 1016f24
MSBuildTaskHost: Remove IBuildEngine3.cs and BuildEngineResult.cs
DustinCampbell 76b9ef7
MSBuildTaskHost: Remove IExtendedBuildEventArgs
DustinCampbell e99fe71
MSBuildTaskHost: Remove SerializableMetadata.cs
DustinCampbell a679727
MSBuildTaskHost: Remove ImmutableDictionary
DustinCampbell 3be3358
MSBuildTaskHost: Remove uncalled members from EnvironmentUtilities.cs
DustinCampbell 98b305f
MSBuildTaskHost: Remove uncalled members from CollectionHelpers.cs
DustinCampbell a6aa438
MSBuildTaskHost: Remove Constants.cs
DustinCampbell a0f9fb8
MSBuildTaskHost: Remove uncalled members from ExceptionHandling.cs
DustinCampbell 1694bde
MSBuildTaskHost: Remove uncalled members from ErrorUtilities.cs
DustinCampbell 1cd4cc0
MSBuildTaskHost: Remove AssemblyUtilities.cs
DustinCampbell f93b9e0
MSBuildTaskHost: Remove uncalled members in NativeMethods.cs
DustinCampbell 9cb0e1e
MSBuildTaskHost: Remove MSBuildNameIgnoringCaseComparer
DustinCampbell b3f7c25
MSBuildTaskHost: Replace ProcessorArchitectures with simple Is64Bit test
DustinCampbell 3f8adee
MSBuildTaskHost: Remove XMakeAttributes.cs
DustinCampbell fe09045
MSBuildTaskHost: Trim unnecessary code out of BuildEnvironmentHelper.cs
DustinCampbell e86369b
MSBuildTaskHost: Remove more uncalled members from FileUtilities.cs
DustinCampbell 8866a4c
MSBuildTaskHost: Use NetFx implementation of Path.Combine
DustinCampbell b5b7d54
MSBuildTaskHost: Remove uncalled members in Traits.cs
DustinCampbell 0879e78
MSBuildTaskHost: Remove ChangeWaves
DustinCampbell 5b7410a
MSBuildTaskHost: Remove BuildEnvironmentState
DustinCampbell dcb8aca
MSBuildTaskHost: Remove SupportOSPlatform attributes
DustinCampbell 3250907
MSBuildTaskHost: Remove uncalled members in ResourceUtilities
DustinCampbell 86fd3c4
MSBuildTaskHost: Remove ITaskItem2
DustinCampbell 586c2c1
MSBuildTaskHost: Remove uncalled members from TaskParameterTaskItem
DustinCampbell 20af332
MSBuildTaskHost: Remove TaskEngineAssemblyResolver
DustinCampbell cc7731f
MSBuildTaskHost: Remove AssemblyNameExtension and AssemblyNameComparer
DustinCampbell 92f15fc
MSBuildTaskHost: Remove IFileSystem and related types
DustinCampbell c635ab6
MSBuildTaskHost: Remove AnsiDetector
DustinCampbell 8fd687b
MSBuildTaskHost: Remove uncalled members from TranslationHelpers
DustinCampbell 6bd8400
MSBuildTaskHost: Remove BinaryTranslator interning support
DustinCampbell 407b75d
MSBuildTaskHost: Remove uncalled members from ITranslater
DustinCampbell 65ff4fe
MSBuildTaskHost: Remove uncalled members from OutOfProcTaskHostNode
DustinCampbell d0e24c7
MSBuildTaskHost: Remove FrameworkErrorUtilities
DustinCampbell f6211c6
MSBuildTaskHost: Remove ResponseFileUsedEventArgs
DustinCampbell 80650a0
MSBuildTaskHost: Simplify HandshakeOptions
DustinCampbell 6875837
MSBuildTaskHost: Remove TaskHostParameters
DustinCampbell 63278ab
MSBuildTaskHost: Merge NodeEndpointOutOfProcTaskHost
DustinCampbell e49bde6
MSBuildTaskHost: Merge OutOfProcTaskAppDomainWrapper
DustinCampbell 7b01e69
MSBuildTaskHost: Remove OutOfProcTaskAppDomainWrapper.CancelTask
DustinCampbell 4e930e2
MSBuildTaskHost: Remove MSBuildArchitecture and MSBuildRuntime
DustinCampbell bbdfdb1
MSBuildTaskHost: Don't use AssemblyLoadInfo
DustinCampbell 848d79b
MSBuildTaskHost: Remove AssemblyLoadInfo
DustinCampbell ffa96f4
MSBuildTaskHost: Remove unused members and parameters from LoadedType
DustinCampbell fe8e104
MSBuildTaskHost: Remove RunInSTAAttribute
DustinCampbell b2062ac
MSBuildTaskHost: Remove HasSTAThreadAttribute & FEATURE_APARTMENT_STATE
DustinCampbell 1a4be5f
MSBuildTaskHost: Clean up OutOfProcTaskAppDomainWrapper and *TaskResult
DustinCampbell c2cdf0b
MSBuildTaskHost: Remove BuildEnviromentHelper.TryFromVisualStudioProcess
DustinCampbell d868eba
MSBuildTaskHost: Avoid BuildEnvironmentHelper in OutOfProcTaskHostNode
DustinCampbell 0d8a66f
MSBuildTaskHost: Remove uncalled members from CommunicationUtilities
DustinCampbell 53b7826
Adjust Handshake salt calculation for MSBuildTaskHost
DustinCampbell 471568c
MSBuildTaskHost: Remove BuildEnvironmentHelper
DustinCampbell 2821ed7
MSBuildTaskHost: Remove uncalled members from FileUtilities
DustinCampbell b9a2e30
MSBuildTaskHost: Reorganize files and namespaces
DustinCampbell 0fdc494
MSBuildTaskHost: Clean up and fix exception serialization
DustinCampbell 32146e9
MSBuildTaskHost: Enable default items in project file
DustinCampbell 3a92cf3
MSBuildTaskHost: Rework and prune string resources
DustinCampbell c4aa56d
MSBuildTaskHost: Clean up BinaryReader/WriterExtensions
DustinCampbell 2a97a76
MSBuildTaskHost: Clean up BinaryTranslater, ITranslater, and *Helpers
DustinCampbell f07f4ce
MSBuildTaskHost: Clean up BufferedReadStream
DustinCampbell 34fa5a7
MSBuildTaskHost: Clean up INode* interfaces and related types
DustinCampbell b367f7c
MSBuildTaskHost: Clean up InterningBinaryReader
DustinCampbell 1189909
MSBuildTaskHost: Clean up LogMessagePacketBase and fix bug
DustinCampbell 5a337fd
MSBuildTaskHost: Clean up NodeBuildComplete
DustinCampbell bff8b3c
MSBuildTaskHost: Clean up NodeEngineShutdownReason
DustinCampbell ea0e75a
MSBuildTaskHost: Clean up NodeShutdown
DustinCampbell 52f148b
MSBuildTaskHost: Clean up TaskHostConfiguration
DustinCampbell 5487183
MSBuildTaskHost: Clean up TaskHostTaskCancelled
DustinCampbell 0db87d4
MSBuildTaskHost: Clean up TaskHostTaskComplete
DustinCampbell 3a3db6d
MSBuildTaskHost: Clean up TaskParameter
DustinCampbell f64ad9d
MSBuildTaskHost: Clean up TaskParameterTypeVerifier
DustinCampbell 7cfbb7d
MSBuildTaskHost: Clean up NodePacketFactory
DustinCampbell e2d0b7f
MSBuildTaskHost: Clean up ITranslatable
DustinCampbell 6686d21
MSBuildTaskHost: Clean up NodeEndpointOutOfProcTaskHost
DustinCampbell 98c1053
MSBuildTaskHost: Clean up CollectionHelpers
DustinCampbell ca756e3
MSBuildTaskHost: Clean up ConcurrentDictionary
DustinCampbell 4f48280
MSBuildTaskHost: Clean up ConcurrentQueue
DustinCampbell ae8b9ae
MSBuildTaskHost: Clean up InternalErrorException
DustinCampbell ae0c6b1
MSBuildTaskHost: Clean up EnvironmentUtilities
DustinCampbell 970cef6
MSBuildTaskHost: Clean up ErrorUtilities
DustinCampbell 61b2259
MSBuildTaskHost: Clean up EscapingUtilities
DustinCampbell 4b8def8
MSBuildTaskHost: Clean up ExceptionHandling
DustinCampbell 15970ea
MSBuildTaskHost: Clean up FileUtilities
DustinCampbell daf60cd
MSBuildTaskHost: Merge FileUtilitiesRegex into FileUtilities
DustinCampbell bf875be
MSBuildTaskHost: Clean up Modifiers and NativeMethods
DustinCampbell c8c6b4b
MSBuildTaskHost: Clean up StringBuilderCache
DustinCampbell 2ff2b90
MSBuildTaskHost: Clean up CommunicationUtilities
DustinCampbell d81c65f
MSBuildTaskHost: Clean up LoadedType
DustinCampbell a6c1e0a
MSBuildTaskHost: Clean up OutOfProcTaskHost
DustinCampbell dceb52c
MSBuildTaskHost: Clean up OutOfProcTaskHostNode
DustinCampbell e9d0198
MSBuildTaskHost: Clean up TaskLoader
DustinCampbell e110c06
MSBuildTaskHost: Clean up Traits
DustinCampbell e6812e5
MSBuildTaskHost: Clean up TypeLoader
DustinCampbell b0c015f
Add test that builds .NET Framework 3.5 WinForms project
DustinCampbell db64459
Apply Copilot CR feedback
DustinCampbell 57622aa
Set <AppConfig> in Microsoft.Build.Engine.UnitTests.csproj
DustinCampbell 069a045
Ensure .NET 3.5 test only runs on valid bootstrap layout
DustinCampbell e63c636
Merge branch 'main' into isolate-taskhost
DustinCampbell 749460b
Merge branch 'main' into isolate-taskhost
DustinCampbell 00764c8
Merge branch 'main' into isolate-taskhost
DustinCampbell 27c5e9d
Merge branch 'main' into isolate-taskhost
DustinCampbell 46709a5
Fix issue with MSBuildTaskHost handshake salt produced by client
DustinCampbell 65650b7
Merge branch 'main' into isolate-taskhost
DustinCampbell 2d288f4
Merge branch 'main' into isolate-taskhost
DustinCampbell b6073e3
Merge branch 'main' into isolate-taskhost
DustinCampbell ea52031
Change TaskHostLaunchArgs to more closely match NodeLaunchData
DustinCampbell File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| // Licensed to the .NET Foundation under one or more agreements. | ||
| // The .NET Foundation licenses this file to you under the MIT license. | ||
|
|
||
| using System; | ||
| using System.Diagnostics; | ||
| using System.IO; | ||
| using System.Reflection; | ||
| using Microsoft.Build.UnitTests; | ||
| using Microsoft.Build.UnitTests.Shared; | ||
| using Shouldly; | ||
| using Xunit; | ||
| using Xunit.Abstractions; | ||
|
|
||
| namespace Microsoft.Build.Engine.UnitTests; | ||
|
|
||
| public class MSBuildTaskHostTests(ITestOutputHelper testOutput) : IDisposable | ||
| { | ||
| private static string AssemblyLocation | ||
| => field ??= Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? AppContext.BaseDirectory); | ||
|
|
||
| private static string TestAssetsRootPath | ||
| => field ??= Path.Combine(AssemblyLocation, "TestAssets"); | ||
|
|
||
| private readonly TestEnvironment _environment = TestEnvironment.Create(testOutput); | ||
|
|
||
| public void Dispose() | ||
| => _environment.Dispose(); | ||
|
|
||
| [WindowsNet35OnlyFact] | ||
| public void CompileNet35WinFormsApp() | ||
| { | ||
| TransientTestFolder testFolder = _environment.CreateFolder(createFolder: true); | ||
|
|
||
| CopyFilesRecursively(Path.Combine(TestAssetsRootPath, "Net35WinFormsApp"), testFolder.Path); | ||
| string projectFilePath = Path.Combine(testFolder.Path, "TestNet35WinForms.csproj"); | ||
|
|
||
| _ = RunnerUtilities.ExecBootstrapedMSBuild($"{projectFilePath}", out bool success, outputHelper: testOutput); | ||
| success.ShouldBeTrue(); | ||
| } | ||
|
|
||
| private static void CopyFilesRecursively(string sourcePath, string targetPath) | ||
| { | ||
| // First Create all directories | ||
| foreach (string dirPath in Directory.GetDirectories(sourcePath, "*", SearchOption.AllDirectories)) | ||
| { | ||
| Directory.CreateDirectory(dirPath.Replace(sourcePath, targetPath)); | ||
| } | ||
|
|
||
| // Then copy all the files & Replaces any files with the same name | ||
| foreach (string newPath in Directory.GetFiles(sourcePath, "*", SearchOption.AllDirectories)) | ||
| { | ||
| File.Copy(newPath, newPath.Replace(sourcePath, targetPath), overwrite: true); | ||
| } | ||
| } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <configuration> | ||
| <startup> | ||
|
|
||
| <supportedRuntime version="v2.0.50727"/></startup> | ||
| </configuration> |
56 changes: 56 additions & 0 deletions
56
src/Build.UnitTests/TestAssets/Net35WinFormsApp/Form1.Designer.cs
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| using System.Windows.Forms; | ||
|
|
||
| namespace TestNet35WinForms | ||
| { | ||
| public partial class Form1 : Form | ||
| { | ||
| public Form1() | ||
| { | ||
| InitializeComponent(); | ||
| } | ||
| } | ||
| } |
167 changes: 167 additions & 0 deletions
167
src/Build.UnitTests/TestAssets/Net35WinFormsApp/Form1.resx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,167 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <root> | ||
| <!-- | ||
| Microsoft ResX Schema | ||
|
|
||
| Version 2.0 | ||
|
|
||
| The primary goals of this format is to allow a simple XML format | ||
| that is mostly human readable. The generation and parsing of the | ||
| various data types are done through the TypeConverter classes | ||
| associated with the data types. | ||
|
|
||
| Example: | ||
|
|
||
| ... ado.net/XML headers & schema ... | ||
| <resheader name="resmimetype">text/microsoft-resx</resheader> | ||
| <resheader name="version">2.0</resheader> | ||
| <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> | ||
| <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> | ||
| <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> | ||
| <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> | ||
| <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> | ||
| <value>[base64 mime encoded serialized .NET Framework object]</value> | ||
| </data> | ||
| <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> | ||
| <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> | ||
| <comment>This is a comment</comment> | ||
| </data> | ||
|
|
||
| There are any number of "resheader" rows that contain simple | ||
| name/value pairs. | ||
|
|
||
| Each data row contains a name, and value. The row also contains a | ||
| type or mimetype. Type corresponds to a .NET class that support | ||
| text/value conversion through the TypeConverter architecture. | ||
| Classes that don't support this are serialized and stored with the | ||
| mimetype set. | ||
|
|
||
| The mimetype is used for serialized objects, and tells the | ||
| ResXResourceReader how to depersist the object. This is currently not | ||
| extensible. For a given mimetype the value must be set accordingly: | ||
|
|
||
| Note - application/x-microsoft.net.object.binary.base64 is the format | ||
| that the ResXResourceWriter will generate, however the reader can | ||
| read any of the formats listed below. | ||
|
|
||
| mimetype: application/x-microsoft.net.object.binary.base64 | ||
| value : The object must be serialized with | ||
| : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter | ||
| : and then encoded with base64 encoding. | ||
|
|
||
| mimetype: application/x-microsoft.net.object.soap.base64 | ||
| value : The object must be serialized with | ||
| : System.Runtime.Serialization.Formatters.Soap.SoapFormatter | ||
| : and then encoded with base64 encoding. | ||
|
|
||
| mimetype: application/x-microsoft.net.object.bytearray.base64 | ||
| value : The object must be serialized into a byte array | ||
| : using a System.ComponentModel.TypeConverter | ||
| : and then encoded with base64 encoding. | ||
| --> | ||
| <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> | ||
| <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> | ||
| <xsd:element name="root" msdata:IsDataSet="true"> | ||
| <xsd:complexType> | ||
| <xsd:choice maxOccurs="unbounded"> | ||
| <xsd:element name="metadata"> | ||
| <xsd:complexType> | ||
| <xsd:sequence> | ||
| <xsd:element name="value" type="xsd:string" minOccurs="0" /> | ||
| </xsd:sequence> | ||
| <xsd:attribute name="name" use="required" type="xsd:string" /> | ||
| <xsd:attribute name="type" type="xsd:string" /> | ||
| <xsd:attribute name="mimetype" type="xsd:string" /> | ||
| <xsd:attribute ref="xml:space" /> | ||
| </xsd:complexType> | ||
| </xsd:element> | ||
| <xsd:element name="assembly"> | ||
| <xsd:complexType> | ||
| <xsd:attribute name="alias" type="xsd:string" /> | ||
| <xsd:attribute name="name" type="xsd:string" /> | ||
| </xsd:complexType> | ||
| </xsd:element> | ||
| <xsd:element name="data"> | ||
| <xsd:complexType> | ||
| <xsd:sequence> | ||
| <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
| <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> | ||
| </xsd:sequence> | ||
| <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> | ||
| <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> | ||
| <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> | ||
| <xsd:attribute ref="xml:space" /> | ||
| </xsd:complexType> | ||
| </xsd:element> | ||
| <xsd:element name="resheader"> | ||
| <xsd:complexType> | ||
| <xsd:sequence> | ||
| <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> | ||
| </xsd:sequence> | ||
| <xsd:attribute name="name" type="xsd:string" use="required" /> | ||
| </xsd:complexType> | ||
| </xsd:element> | ||
| </xsd:choice> | ||
| </xsd:complexType> | ||
| </xsd:element> | ||
| </xsd:schema> | ||
| <resheader name="resmimetype"> | ||
| <value>text/microsoft-resx</value> | ||
| </resheader> | ||
| <resheader name="version"> | ||
| <value>2.0</value> | ||
| </resheader> | ||
| <resheader name="reader"> | ||
| <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
| </resheader> | ||
| <resheader name="writer"> | ||
| <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
| </resheader> | ||
| <assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> | ||
| <data name="button1.TabIndex" type="System.Int32, mscorlib"> | ||
| <value>0</value> | ||
| </data> | ||
| <data name=">>button1.ZOrder" xml:space="preserve"> | ||
| <value>0</value> | ||
| </data> | ||
| <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> | ||
| <data name="button1.Size" type="System.Drawing.Size, System.Drawing"> | ||
| <value>222, 133</value> | ||
| </data> | ||
| <data name="button1.Text" xml:space="preserve"> | ||
| <value>button1</value> | ||
| </data> | ||
| <data name=">>$this.Name" xml:space="preserve"> | ||
| <value>Form1</value> | ||
| </data> | ||
| <data name=">>button1.Name" xml:space="preserve"> | ||
| <value>button1</value> | ||
| </data> | ||
| <data name=">>button1.Type" xml:space="preserve"> | ||
| <value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
| </data> | ||
| <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> | ||
| <value>6, 13</value> | ||
| </data> | ||
| <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> | ||
| <value>800, 450</value> | ||
| </data> | ||
| <data name="button1.Location" type="System.Drawing.Point, System.Drawing"> | ||
| <value>223, 124</value> | ||
| </data> | ||
| <data name=">>$this.Type" xml:space="preserve"> | ||
| <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> | ||
| </data> | ||
| <data name="$this.Text" xml:space="preserve"> | ||
| <value>Form1</value> | ||
| </data> | ||
| <data name=">>button1.Parent" xml:space="preserve"> | ||
| <value>$this</value> | ||
| </data> | ||
| <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||
| <value>True</value> | ||
| </metadata> | ||
| <metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> | ||
| <value>fr</value> | ||
| </metadata> | ||
| </root> |
19 changes: 19 additions & 0 deletions
19
src/Build.UnitTests/TestAssets/Net35WinFormsApp/Program.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| using System; | ||
| using System.Windows.Forms; | ||
|
|
||
| namespace TestNet35WinForms | ||
| { | ||
| internal static class Program | ||
| { | ||
| /// <summary> | ||
| /// The main entry point for the application. | ||
| /// </summary> | ||
| [STAThread] | ||
| static void Main() | ||
| { | ||
| Application.EnableVisualStyles(); | ||
| Application.SetCompatibleTextRenderingDefault(false); | ||
| Application.Run(new Form1()); | ||
| } | ||
| } | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.