22

Utilizzo di Visual Studio 2010, come impostare o modificare automaticamente il proprietario del file di output da Visual Studio (ad esempio file eseguibile) a un utente diverso dall'amministratore?Autorizzazioni del file di output di Visual Studio?

tutti i file di output attualmente sono di proprietà di Administrator (a causa di Visual Studio viene avviato dal privilegio di amministratore), quindi a volte non riesco a eliminare quei file a causa di autorizzazioni di accesso.

a volte lo stesso studio visivo non può cancellarlo (dopo aver eseguito l'eseguibile) fino a pochi minuti, è davvero fastidioso quando ho bisogno di ricostruire questi eseguibili. qualcuno sa qual è il vero problema qui?

messaggio di errore è: error LNK1168: cannot open [path to file].exe for writing

+0

basta eseguire in questo problema. Stessa cosa, l'handle è di proprietà di System process con PID 4. Potresti per favore riaprire la domanda, generalmente è meglio lasciarla aperta anche se non c'è una risposta corrente e questo chiaramente non è qualcosa che accade solo con il tuo sistema. –

+0

Sembra che questo abbia risolto il mio problema .. Grazie .. Ho perso molto tempo a causa di stupidi problemi di blocco ... – GorillaApe

risposta

0

nessuno dà la risposta giusta, quindi chiudo questa domanda come un bug nel sistema operativo, non in Visual Studio, forse il O/S è compromesso poiché l'handle del file è di proprietà del processo 'System' (PID 4) e non posso rilasciare l'handle del file poiché segnala che l'handle del file non è valido usando process explorer.

+0

stesso problema. Unlocker non può aiutare ... – k06a

0

Bene, il file in quanto è creato sarà di proprietà del creatore, se si esegue Visual Studio come amministratore si è appena bloccato con quel modo dal punto di vista del proprietario.

Personalmente, a meno che non si utilizza IIS per applicazioni Web mi trovo in esecuzione Visual Studio come un utente normale sempre più spesso, almeno con VS 2010.

Per quanto riguarda il problema in cui Visual Studio non può cancellare il file, l'ho già visto prima con errori di compilazione e, a volte, se si hanno più progetti che fanno riferimento allo stesso assembly. La soluzione migliore è provare e rintracciare il blocco, quindi è possibile chiudere il blocco o riavviare Visual Studio.

In genere utilizzo Process Explorer (da SysInternals) per rimuovere semplicemente l'handle sul file. (NOTA: questa NON è un'idea "fantastica", ma funziona ...)

+0

AFAIK Visual Studio è sempre eseguito come amministratore (uno dei casi se devo eseguire debugger), in secondo caso, non ho errori di compilazione, e cosa intendi facendo riferimento allo stesso assembly ?, nel frattempo cercherò Process Explorer. – uray

+0

Ho provato Process Explorer, posso chiudere l'handle, ma come faccio a sapere, quale processo che contiene l'handle ?, è ancora fastidioso se voglio ricostruire il progetto rilasciando sempre l'handle da Process Explorer. – uray

+0

Se è ogni volta, hai qualcosa in corso nella tua applicazione, o nella tua soluzione di studio visivo. Hai l'applicazione in esecuzione al di fuori di Visual Studio al momento? È riferito a un altro progetto? –

33

Wooho Finalmente ho trovato questo fuori.

Si tratta di un bug in Windows 7 e probabilmente in Windows Server 2008 (solo versioni a 64 bit). Sorge quando si disabilita il servizio Application Experience.

Riattivare questo servizio ha risolto il problema per me.

Non riesci ad immaginare quanto sono felice, questo ha reso la programmazione così frustrante in quanto non è solo un problema con VC, ma qualsiasi compilatore e per completare l'operazione è abbastanza casuale.

Un po 'più informazioni here sul motivo per cui sta causando un problema.

Elenco delle domande in modo che sembrano essere correlati:

+0

Questa soluzione è così inaspettata che continuo a disattivare l'esperienza applicativa pensando "non è necessario, probabilmente rallenta la mia macchina, ecc.". Poi un po 'più tardi comincio a sentirmi frustrato bloccando i problemi e mi rivolgo a Google. Quindi, trovo la via per tornare a questa soluzione, riaccendo Application Experience e sono stupito che funzioni. Penso di averlo fatto 3 volte adesso. –

+1

Questo non ha funzionato per me. Tuttavia la mia soluzione si carica molto più rapidamente ora. – stuartd

+0

Grazie, anche questo ha funzionato per me. Visual Studio 2010 non è riuscito a eliminare un dll che aveva generato nella build precedente. Avvio del servizio Application Experience risolto immediatamente! – Sabuncu

7

Come accennato in precedenza, la correzione a questo problema è quello di consentire di Windows Application Experience servizio.Ecco come fare: "Application Experience"

  1. tasto Windows + R
  2. Tipo "services.msc" nella finestra che si apre
  3. Nell'elenco, trovare
  4. doppio clic su questo e passare da "disabile" a "abilitato"

Si dovrebbe funzionare ora! Ha lavorato per me :)

Fonte: http://www.techknowl.com/disable-unwanted-services-and-speed-up.html

Problemi correlati