Publish web application with unsafe code
asp.net, c#, publishing, unsafe
Solution
It's very simple to publish with a unsafe code
Here is how you do it:
Problem
I'm trying to publish a web application (with VS2012 Web) in which I need to run a vb script. That script currently doesn't run correctly probably because of the lack of permissions. I am currently trying to run it as a user and supply some credentials. The password I have to provide must be in a `System.Security.SecureString` which needs a char* to be created. When I run my app in debug everything works fine and as expected. But when comes the time to publish the app to the server, it says : `1>C:\SVN\...\Default.aspx.cs(108,21,108,27): error CS0227: Unsafe code may only appear if compiling with /unsafe` I have allowed for unsafe code in the project properties, but I don't know why VS sees that property when debugging and not when publishing. When I hit publish, I see the CS0227 error in the error list but it stays for only 1 second, then it disappears... It seems like that second is enough to make the build fail. Any ideas as to what the problem is? Here is my code : ``` Process proc = new Process(); ProcessStartInfo psi = new ProcessStartInfo("C:\\Windows\\System32\\cscript.exe", "\"" + scriptPath + "\" " + args); psi.UseShellExecute = false; psi.RedirectStandardInput = true; psi.RedirectStandardOutput = true; psi.RedirectStandardError = true; psi.CreateNoWindow = true; psi.Domain = "MyDomain"; psi.UserName = "MyUsername"; System.Security.SecureString hashPwd; unsafe { // Instantiate a new secure string. fixed (char* pChars = pwd) { hashPwd = new System.Security.SecureString(pChars, pwd.Length); } } psi.Password = hashPwd; //Set the process' start info proc.StartInfo = psi; //We start the script. proc.Start(); ```