Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Kreatory aplikacji Visual C++ nie tworzą projektów weryfikowalnych.
Ważne
Przestarzałe programy Visual Studio 2015 i Visual Studio 2017 nie obsługują plików /clr:pure i /clr:safe tworzenia weryfikowalnych projektów. Jeśli potrzebujesz weryfikowalnego kodu, zalecamy tłumaczenie kodu na język C#.
Jeśli jednak używasz starszej wersji zestawu narzędzi kompilatora Microsoft C++, który obsługuje /clr:pure i /clr:safe, projekty można przekonwertować, aby były weryfikowalne. W tym temacie opisano sposób ustawiania właściwości projektu i modyfikowania plików źródłowych projektu w celu przekształcenia projektów programu Visual Studio C++ w celu tworzenia weryfikowalnych aplikacji.
Ustawienia kompilatora i konsolidatora
Domyślnie projekty platformy .NET używają flagi kompilatora /clr i konfigurują konsolidator do docelowego sprzętu x86. W przypadku kodu weryfikowalnego należy użyć flagi /clr:safe i należy poinstruować konsolidatora, aby wygenerował MSIL zamiast instrukcji maszyny natywnej.
Aby zmienić ustawienia kompilatora i konsolidatora
Wyświetl stronę właściwości projektu. Aby uzyskać więcej informacji, zobacz Ustawianie właściwości kompilatora i kompilacji.
Na stronie Ogólne w węźle Właściwości konfiguracji ustaw właściwość Obsługa środowiska uruchomieniowego języka wspólnego na bezpieczną obsługę środowiska uruchomieniowego języka wspólnego MSIL (/clr:safe).
Na stronie Zaawansowane w węźle Konsolidator ustaw właściwość Typ obrazu CLR na Wymusić bezpieczny obraz IL (/CLRIMAGETYPE:SAFE).
Usuwanie natywnych typów danych
Ponieważ natywne typy danych nie są weryfikowalne, nawet jeśli nie są rzeczywiście używane, należy usunąć wszystkie pliki nagłówkowe zawierające typy natywne.
Uwaga
Poniższa procedura dotyczy projektów aplikacji Windows Forms (.NET) i aplikacji konsolowej (.NET).
Aby usunąć odwołania do natywnych typów danych
- Oznacz jako komentarz wszystko w pliku Stdafx.h.
Konfigurowanie punktu wejścia
Ze względu na to, że weryfikowalne aplikacje nie mogą używać bibliotek czasu wykonywania języka C (CRT), nie mogą one zależeć od CRT w celu wywołania funkcji main jako standardowego punktu wejścia. Oznacza to, że należy jawnie podać nazwę funkcji, która będzie początkowo wywoływana do konsolidatora. (W tym przypadku parametr Main() jest używany zamiast main() lub _tmain() w celu wskazania punktu wejścia innego niż CRT, ale ponieważ punkt wejścia musi zostać jawnie określony, ta nazwa jest dowolna).
Uwaga
Poniższe procedury dotyczą projektów aplikacji konsolowej (.NET).
Aby skonfigurować punkt wejścia
Zmień _tmain() na Main() w głównym pliku .cpp projektu.
Wyświetl stronę właściwości projektu. Aby uzyskać więcej informacji, zobacz Ustawianie właściwości kompilatora i kompilacji.
Na stronie Zaawansowane w węźle Konsolidator wprowadź wartość
Mainwłaściwości Punkt wejścia.