2012-06-22 18 views
21

Pobrałem próbkę kodu z C#. ale gdy uruchamiam otrzymuję komunikat o błędzie:Projekt z typem wyjściowym biblioteki klas nie może zostać uruchomiony bezpośrednio

Projekt z wyjście typu klasy biblioteki nie można uruchomić bezpośrednio w celu debugowania tego projektu dodać projekt wykonywalny do to rozwiązanie, które odwołuje się do projektu biblioteki . Ustaw program wykonywalny jako projekt startowy.

Proszę, daj mi rozwiązanie.

+8

Daj rozwiązanie czego? Próbujesz "uruchomić" coś, co nie zostało zaprojektowane do działania! To jest * biblioteka *, a nie * program *. – Jon

Odpowiedz

12

Jeśli masz projekt z plikiem wykonywalnym kliknij go prawym przyciskiem myszy i wybierz "Ustaw jako projekt startowy" - jeśli nie, musisz napisać jeden, aby debugować swój kod (lub użyj testów jednostkowych).

+0

Pobrałem zestaw Microsoft Live SDK i otworzyłem jeden z jego przykładowych projektów. Musiałem "Ustaw jako projekt startowy", zanim mogłem go uruchomić. Ta odpowiedź pomogła. Dzięki @ carsten-konig. – Dizzley

4

Należy sprawdzić, czy ustawienia projektu startowego są poprawne.

Jeśli istnieje więcej niż jeden projekt w roztworze, prawym przyciskiem myszy na jednym, które powinny być uruchamiane podczas kompilowania i wybierz Ustaw jako projekt startowego

55

Projekt startup aktualnie wybrany jest Class Library.

Potrzebujesz punktu wejścia do swojej aplikacji. Czy Twoje rozwiązanie zawiera wiele projektów?

Czy na pewno chcesz uruchomić bibliotekę klas?

enter image description here

Ewentualnie pobrałeś rozwiązanie Class Library tylko. W takim przypadku mogą być testy jednostkowe, które można "debugować", aby przejść przez kod.

Aktualizacja W odpowiedzi na Twój komentarz, są możliwości, aby uruchomić bibliotekę Klasa:

  • utworzyć aplikację konsoli i odniesienie do biblioteki klasy. Następnie „stosowanie” jego zawartość
  • debugować projekt jednostka test
  • początek projekt istniejący klient
+0

Tak, mam wiele projektów w rozwiązaniu. i chcę uruchomić bibliotekę klas. –

+1

@hinleaksmei Nie można uruchomić biblioteki klas samodzielnie. Jego logika ma być "wykorzystana" przez inny projekt. Dlatego potrzebujesz logiki, która "używa" klas znalezionych w bibliotece klas. – Aphelion

9

Ustawienia debugowania środowiska programistycznego Visual Studio może być pusta. Proszę sprawdzić, czy następujące pola podświetlone brakuje, jeśli ich brakuje następnie wypełnić go z konkretnego pliku wykonywalnego

Debug Settings

Pola te są wymagane do niech VS uruchomić program do debugowania. Na powyższym zdjęciu opracowuję VSPackage, aby:

  1. Zewnętrzny program jest devenv.exe
  2. wiersza poleceń argumenet jest/rootsuffix Exp (do uruchamiania instancji doświadczalnie)

Uwaga: Mogę zapewnić Ci odpowiedź wymienionych tu nie pomoże mi rozwiązać ten problem, ponieważ mój projekt był już ustawiony jako projekt startowy, teraz natknąłem się na MSDN blog, który pomógł mi i doprowadził do tej odpowiedzi.

+0

A jeśli nie ma sekcji Rozpocznij działanie, może to być spowodowane korzystaniem z bezpłatnej, ekspresowej wersji programu Visual Studio. W takim przypadku poszukaj pliku .csproj.user i edytuj. Na przykład używam VS Express 2012 do budowy XLL z Excel-DNA. Oto mój plik .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

Próbowałem uruchomić test debugowania z punktem przerwania w pliku featureFlow feature.cs zamiast pliku Step.cs. Umieść punkt przerwania w pliku Step.cs i działa zgodnie z oczekiwaniami. Dzięki!

Powiązane problemy