2012-06-22 23 views
21

Ho scaricato il codice di esempio con C#. ma quando ho eseguito ricevo questo messaggio di errore:Un progetto con un tipo di output di libreria di classi non può essere avviato direttamente

Un progetto con un tipo di uscita di Libreria di classi non può essere avviato direttamente Al fine di eseguire il debug di questo progetto, aggiungere un progetto eseguibile per questa soluzione che fa riferimento al progetto di libreria . Imposta il progetto eseguibile come progetto di avvio.

Per favore, dammi una soluzione.

+8

Fornisci una soluzione per cosa? Stai provando a "eseguire" qualcosa che non è stato progettato per essere eseguito! È una * libreria *, non un * programma *. – Jon

risposta

12

Se si dispone di un progetto con un file eseguibile, fare clic con il pulsante destro del mouse su questo e selezionare "Imposta come progetto iniziale". In caso contrario, è necessario scriverne uno per eseguire il debug del codice (o utilizzare Test unitari).

+0

Avevo scaricato un Microsoft Live SDK e aperto uno dei suoi progetti di esempio. Ho dovuto "Impostare come progetto iniziale" prima che potessi eseguirlo. Questa risposta ha aiutato. Grazie @ carsten-konig. – Dizzley

4

È necessario verificare che l'installazione del progetto di avvio sia stata eseguita correttamente.

Se v'è più di un progetto nella soluzione, fate clic destro su quello che dovrebbe essere eseguito quando si compila e scegliere Imposta come progetto di avvio

55

Il progetto di avvio attualmente selezionato è una libreria di classi.

È necessario un punto di ingresso per l'applicazione. La tua soluzione contiene più progetti?

Sei sicuro di voler "eseguire" la libreria di classi?

enter image description here

Forse hai scaricato solo una soluzione Class Library. In tal caso potrebbero esserci test di unità che è possibile eseguire il debug per eseguire il passaggio del codice.

Aggiornamento In risposta al tuo commento, queste sono le possibilità per eseguire la libreria di classi:

  • creare un'applicazione console e di riferimento la libreria di classi. Poi 'uso' il suo contenuto
  • debug di un progetto di unità di test
  • avvio client esistente progetto
+0

Sì, ho ottenuto molti progetti in una soluzione. e voglio eseguire la libreria di classi. –

+1

@hinleaksmei Non è possibile eseguire una libreria di classi da solo. La sua logica dovrebbe essere "usata" da un altro progetto. Quindi hai bisogno di una logica che stia 'usando' le classi trovate nella tua libreria di classi. – Aphelion

9

Le impostazioni di debug del proprio ambiente di sviluppo Visual Studio può essere lasciato vuoto. Si prega di verificare se le seguenti campi evidenziati sono mancanti, se mancano poi riempire con la vostra specifica eseguibile

Debug Settings

Questi campi sono obbligatori per lasciare che il VS avviare il programma per il debugging. Nell'immagine sopra sto sviluppando un VSPackage in modo che:

  1. Il programma esterno è devenv.exe
  2. linea di comando argumenet è/rootsuffix Exp (per avviare l'istanza sperimentale)

Nota: vi posso assicurare che le risposte di cui qui non mi ha aiutato a risolvere il problema perché il mio progetto era già impostato come un progetto di avvio, ora mi sono imbattuto in un MSDN blog che mi ha aiutato e portare a questa risposta.

+0

E se non c'è una sezione Inizia azione potrebbe essere perché stai usando una versione gratuita, Express, di Visual Studio. In tal caso, cercare un file .csproj.user e modificarlo. Ad esempio, sto usando VS Express 2012 per creare un XLL con Excel-DNA. Ecco il mio file .cspros.user ... – osullivj

0
<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'"> 
    <StartAction>Program</StartAction> 
    <StartProgram>C:\Program Files (x86)\Microsoft Office\Office14\excel.exe</StartProgram> 
    <StartArguments></StartArguments> 
    <StartWorkingDirectory></StartWorkingDirectory> 
    <EnableUnmanagedDebugging>true</EnableUnmanagedDebugging> 
    </PropertyGroup> 
</Project> 
0

Stavo cercando di eseguire un test di debug con breakpoint nel file feature.cs di specFlow invece del file Step.cs. Inserisci il punto di interruzione nel file Step.cs e funziona come previsto. Grazie!

Problemi correlati