C#

[".0s4*0|collections;datetime-format;.",["F@eA","HAiSBEJAMKKL","OLOYOPSTUUUUTTUUUUOCPWCSTTUUUUTTUUUU","wtr.",".NET","Array","Dictionary","List","String","2D","Async","Console","DataTable","Dates","DateTime","Enum","File","For","Foreach","Format","IEnumerable","If","IndexOf","Lambda","LINQ","Optimization","Parse","Path","Process","Property","Random","Regex","Replace","Sort","Split","Static","Substring","Switch","Tuple","While","Macros"," make common tasks easier. We use post-build and pre-build macros in Visual Studio. Two projects may rely on each other but remain separate. We write a macro to copy files from one project to another after the first one is built.","Macros."," This approach offers one automated solution to making the two projects work together, at least in a primitive manner. We will copy the compiled DLL to the C# solution's directory. We will use the following command on the post-build event. ","Example command 1","\n\ncopy \"{path1}DLLName.dll\" \"{path2}DLLName.dll\"","The words"," including the quotes are actual paths, so they use the \"\\\" character. This code runs whenever you build the DLL project. However, a different solution is probably better. Here is a command in the pre-build event. ","Example command 2","\n\ncopy \"{path1}DLLName.dll\" \"$(ProjectDir)DLLName.dll\"","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Visual Studio macros"," are essentially environment variables contained within parentheses, preceded by the \"$\" symbol\u2014much like Perl. The green italics in the examples should be replaced. ","Tip: ","You can add a macro to a build command by clicking on its name and clicking insert. Next are a couple example tokens.","Example macro syntax","\n\n$(ProjectDir)\n$(TargetFileName)","Summary."," We looked at an example post-build event in Visual Studio. One thing you can use pre-build and post-build events for is copying DLLs to different solutions at build time. This can automate some interactions between different projects. ","Review: ","Here we saw a way to use these macros with a DLL after building a project.","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto"],"url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKEAAABJCAMAAABimLZrAAAAGFBMVEX////zpsv2wdr99Pj50+T74e386vLvgrhS6vXpAAAB3klEQVR4Xu2YS24DMQxDrZ99/xt3URRCFgOOGjYMinDNyIHwxnjwIib2d2Jxk2eUjSf5c6eaeT107YyyrtKTcuE4OMZ3d88otq7Sk2LhGD7pZ8w+94L3E2jNj12c+isMbeHUYB08DJ2FYWdzMbQeC2PPHWeAeIghzlU3otIA9uAojJY93Y0mz+ZHYbSc0PUmcUw8RqsI3ebUp8RT7uvuYqgNUDzI7pGEbi9xiiFXGxxXTswoJmtD4jWfPaCYj2EsDOKeYUjWhjudGlKMtYHVbcGZUYzRInWjOSTf15vUbQ7F2oC/5dBqAy4dtTbgG1usDdh+jK0NNMWwRkGqDdh+UqwN+FMutjaQui3ZSm3Yr8QwBmzE6L52sjY4Sxu8/UynDX5nz6bUhrqzwmRrA6lbvUKtNuCXu3xTbbCmUKkNCRqNtVAb0KuSS18bDtDCi3Glvq/TTidGFPMxBC+bTZpGG3As1pJgGLM/qNEGnGZAoQ2jBWq0AcZ6jkQbQCyj2xptuIyZe9GO4tsrjt5ecfTagEPFkHDhKuw1B125NuDwtYHc1dsrjvS1AUSuDSm5r4N+4b7pawP/50l8bfhP2vDRhvWu2lBvrw2u1QZC96MNtK5eG/yl2mBCbeBjaL/G8AtqQEnsBU7ZMwAAAABJRU5ErkJggg==)","url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEX/6Nn///+VlZX29va5ksB5AAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)"]

["url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALsAAAA6CAAAAADNF3fLAAABaUlEQVR4Xu3XsW3DMBSEYc92O3AFjcAJOAEX4AAZ4PXs3b+atWq2L3YX+CREsRBAB/gf4PgVBAHeyn7VzHyNw5Xdxr8M3PBbqdjBo7Gbnx44aueWNnTsXO66dmBxXTtQp64d6a5rB0zYjiZsRxO24+sydn+W8ZL5o94StrrHdv6o4aXsj2Zw5wdu8azs3a+ewKU1djO8VGKrEwOH7TELuKphj6jgXMQ+M6gsYo8BzkXs0UBVFfsKbhWxRwVlKvYOqqjYV3Aq9lhADRV7BdVV7AbKhO1Vxe6gysf+sX/sAu+Mtt1U7E3YXkC5ih3cKmIfoNIbR7v9zE8PHLLb+b8Hs+z0wCF7BmUi9gFuFbE3UDk07ANc17DPDCpNDXsDZ6Fgnw1cmgp2X8Chx+Xtbhlb1biIHQc6eGPwp+yNgbP2NELGznQZO9NV7XmEqv1rhqh98QhN+9IjNO3NIxTtS7vPCDF7KsXMyX0V+zfDQcRKyPVaeQAAAABJRU5ErkJggg==)","url(data:image/jpeg;base64,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)","url(data:image/jpeg;base64,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)"]