Recently found a not too much impact but very strange things, edit state click Debug, found and before the project is not the same, debugging state Flash, the program is "independent", not under the control of debugging state.
Find for a long time only to find, is in Program.cs Riga a piece of code caused.
This code is used to let oneself write the software can set local IP address use, need to get administrator privileges. The code is as follows:
/** * When the current user is an administrator, start the application directly * if it is not an administrator, use the Startup Object Launcher to ensure that you are running with Administrator*/ //get the currently logged in Windows User logoSystem.Security.Principal.WindowsIdentity identity =System.Security.Principal.WindowsIdentity.GetCurrent (); //Create a Windows user topicApplication.enablevisualstyles (); System.Security.Principal.WindowsPrincipal Principal=NewSystem.Security.Principal.WindowsPrincipal (identity); //determine whether the currently logged on user is an administrator if(Principal. IsInRole (System.Security.Principal.WindowsBuiltInRole.Administrator)) {//If it is an administrator, run it directlyApplication.enablevisualstyles (); Application.Run (NewServer ()); } Else { //To Create a startup objectSystem.Diagnostics.ProcessStartInfo StartInfo =NewSystem.Diagnostics.ProcessStartInfo (); //set up a run fileStartinfo.filename =System.Windows.Forms.Application.ExecutablePath; //Set Startup ParametersStartinfo.arguments = String.Join (" ", Args); //set the start action to ensure that you are running as an administratorStartinfo.verb ="runas"; //if it is not an administrator, start UACSystem.Diagnostics.Process.Start (startinfo); //ExitSystem.Windows.Forms.Application.Exit (); } //Application.enablevisualstyles (); //Application.Run (New Server ());
In this way, the program debugging starts to get the administrative rights, and the new itself, so the debug state is automatically closed.
When you restore this line of code, the debug state returns to normal, stating that the rest of the code is fine.
C # Vs2017 Start debugging, Debug or Release debug status flash the program to run independently