2017-05-16 15 views
-1

appname.vshost.exeをVisualStudioの起動に使用されているユーザー名と異なるユーザー名でデバッグフォルダから起動できますか?別のユーザーとしてvshost.exeを実行する

appname.vshost.exe.configには、次の内容があります。ユーザー名の設定はありますか?私はそれを検索しようとしましたが、何も見つかりませんでした。

<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> 
    </startup> 
</configuration> 
+0

これで何を達成しようとしていますか? – dymanoid

+0

[偽装されたユーザの下のホストwcf](http://stackoverflow.com/questions/43942695/...)。どういうわけか、コンソールアプリケーションから特定のユーザーの下でプロセスを開始し、そのプロセスでホストwcfを実行して、その偽装されたユーザーの下でサービスを実行したいと考えています。 – Alpesh

答えて

0

Visual Studioを起動するために使用したユーザーとは別のユーザーでvshost.exeを起動することはできません。だから、私は別のコンソールアプリケーションから別のユーザーの下にメインコンソールアプリケーションを起動し、それにデバッガをつけて動作します。

誰かを助けるなら私は以下のコードをコピーしました。

using System; 
using System.Linq; 
using System.Runtime.InteropServices; 
using System.Security; 
using EnvDTE80; 
using Process = System.Diagnostics.Process; 

namespace StartService 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var secure = new SecureString(); 
      foreach (var c in "password-from-config") 
      { 
       secure.AppendChar(c); 
      } 

      Process process = null; 

      try 
      { 
       process = Process.Start(@"C:\Test Projects\WcfServiceTest\WcfServiceTest\bin\Debug\WcfServiceTest.exe", 
        "TestUser", secure, "DomainName"); 

       Attach(GetCurrent()); 

       Console.ReadKey(); 
      } 
      finally 
      { 
       if (process != null && !process.HasExited) 
       { 
        process.CloseMainWindow(); 
        process.Close(); 
       }  
      } 
     } 

     public static void Attach(DTE2 dte) 
     { 
      var processes = dte.Debugger.LocalProcesses; 
      foreach (var proc in processes.Cast<EnvDTE.Process>().Where(proc => proc.Name.IndexOf("WcfServiceTest.exe") != -1)) 
       proc.Attach(); 
     } 

     internal static DTE2 GetCurrent() 
     { 
      var dte2 = (DTE2)Marshal.GetActiveObject("VisualStudio.DTE.12.0"); // Specific to VS2013 

      return dte2; 
     } 
    } 
} 
1

あなたdebugg実行可能 を実行しようとしている場合は、右クリックをシフトし、別のユーザーとして実行を試みることができます。

あなたは設定で別のユーザーとして実行しますか?

+0

詳細については、質問の下のコメントを使用してください。正確な質問が何であるかわからない場合は、回答を投稿しないでください。 – dymanoid

+0

@Arukaito 'appname.vshost.exe'はVisual Studioで始まり、独立して実行することはできません。私はそれを試していたし、VSと同じユーザーの下で常にあなたのアプリのために実行している1つのvshostがある。私はちょうど誰かが別のユーザーの下でそれを実行させるためにそれを設定するためのアイデアを持っているかどうかを確認したい。 – Alpesh

+0

これは本物の質問であると確信していますが、依然として人々はそれを投票しています。私は2日間さまざまなソリューションを試してみた後、この質問を投稿しました。 – Alpesh

関連する問題