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();
It's very simple to publish with a unsafe code
Here is how you do it:
Please add this code in Web.config file and check it is working for you
It seems when you publish it ignores the project setting of unsafe, so you need to manually open your .CSPROJ file and include:
That solved it for me.
Googled this issue but could not find anything. Checked the *.targets files for "unsafe" which led me to the "AllowUnsafeBlocks" tag.