Al.exe (Konsolidator zestawów)
Assembly Linker (konsolidator zestawów) generuje plik zawierający manifest zestawu z co najmniej jednego pliku, który jest modułem lub plikiem zasobów. Moduł jest plikiem języka pośredniego (IL), który nie zawiera manifestu zestawu.
Uwaga
Począwszy od programu Visual Studio 2008, kompilatory języka C# i Visual Basic automatycznie osadzają manifest Win32 w zestawie. Aby uzyskać więcej informacji, zobacz -win32manifest (Opcje kompilatora C#).
To narzędzie jest instalowane automatycznie z programem Visual Studio. Aby uruchomić narzędzie, użyj wiersza polecenia dla deweloperów programu Visual Studio lub programu Visual Studio Developer PowerShell.
W wierszu polecenia wpisz:
Składnia
al sources options
Parametry
Możesz określić co najmniej jeden z poniższych sources
elementów .
Lokalizacja źródłowa | opis |
---|---|
file [,target ] |
Kopiuje zawartość file (modułu) do nazwy pliku określonej przez target . Po skopiowaniu Al.exe kompiluje target się do zestawu. |
/embed[resource]: file [,name [,private ]] |
Osadza zasób określony przez file na obrazie zawierający manifest zestawu; Al.exe kopiuje zawartość file do przenośnego obrazu wykonywalnego (PE).Parametr name jest identyfikatorem wewnętrznym zasobu. Domyślnie zasoby w zestawie są publiczne (widoczne dla innych zestawów). Określenie private powoduje, że zasób nie jest widoczny dla innych zestawów.Jeśli file jest plikiem zasobów programu .NET Framework utworzonym na przykład przez generator plików zasobów (Resgen.exe) lub w środowisku projektowym, można uzyskać do niego dostęp z elementami członkowskimi w System.Resourcespliku . Aby uzyskać więcej informacji, zobacz ResourceManager. W przypadku wszystkich innych zasobów użyj GetManifestResource* metod w programie , Assembly aby uzyskać dostęp do zasobu w czasie wykonywania.Jeśli tylko pliki zasobów są przekazywane do Al.exe, plik wyjściowy jest zestawem zasobów satelitarnych. |
/link[zasób]: file [,name [,target [,private ]]] |
Łączy plik zasobów z zestawem. Zasób określony przez file staje się częścią zestawu; plik nie jest kopiowany. Parametr file może mieć dowolny format pliku. Można na przykład określić natywną bibliotekę DLL jako file parametr. W ten sposób natywna biblioteka DLL stanie się częścią zestawu, będzie mogła zostać zainstalowana w globalnej pamięci podręcznej zestawów i będzie można uzyskać do niej dostęp z kodu zarządzanego w zestawie. Można to również zrobić za pomocą opcji /linkresource kompilatora. Aby uzyskać więcej informacji, zobacz -linkresource (Opcje kompilatora C#).Parametr name jest identyfikatorem wewnętrznym zasobu. Parametr target określa ścieżkę i nazwę pliku, do którego Al.exe kopiuje file element . Po skopiowaniu Al.exe kompiluje target się do zestawu. Domyślnie zasoby w zestawie są publiczne (widoczne dla innych zestawów). Określenie private powoduje, że zasób nie jest widoczny dla innych zestawów.Jeśli file jest plikiem zasobów programu .NET Framework utworzonym na przykład przez generator plików zasobów (Resgen.exe) lub w środowisku projektowym, można uzyskać do niego dostęp z elementami członkowskimi w System.Resources przestrzeni nazw. Aby uzyskać więcej informacji, zobacz ResourceManager. W przypadku wszystkich innych zasobów użyj GetManifestResource* metod w Assembly klasie , aby uzyskać dostęp do zasobu w czasie wykonywania.Jeśli tylko pliki zasobów są przekazywane do Al.exe, plik wyjściowy jest zestawem zasobów satelitarnych. |
Możesz określić następujące options
wartości ; musisz określić /out.
Opcja | Opis |
---|---|
/algid: id |
Określa algorytm wyznaczania wartości skrótu dla wszystkich plików w wieloplikowym zestawie z wyjątkiem pliku, który zawiera manifest zestawu. Domyślny algorytm to CALG_SHA1. Zobacz identyfikator algorytmu w dokumentacji Platformy SDK dla innych algorytmów. Dla pierwszego wydania .NET Framework prawidłowe są tylko CALG_SHA1 i CALG_MD5. Wartości skrótu są przechowywane w tabeli plików manifestu zestawu. W czasie instalacji i ładowania pliki zestawu są sprawdzane w odniesieniu do ich skrótów. Tę opcję można również określić jako atrybut niestandardowy (AssemblyAlgorithmIdAttribute) w kodzie źródłowym dla dowolnego modułu. |
/base[address]: addr |
Określa adres, pod którym zostanie załadowana biblioteka DLL na komputerze użytkownika w czasie wykonywania. Aplikacje ładują się szybciej, jeśli określony zostanie adres podstawowy bibliotek DLL, nie pozwalając systemowi operacyjnemu na przeniesienie biblioteki DLL w przestrzeni procesu. |
/bugreport: filename |
Tworzy plik (filename ), który zawiera informacje dotyczące raportowania usterek. |
/comp[any]: text |
Określa ciąg w polu Company w zestawie. Umieść ciąg w podwójnym cudzysłowie (" "), jeśli text zawiera spację. Ten ciąg jest dla zestawu atrybutem niestandardowym i może być wyświetlany z refleksją.Jeśli nie określisz /win32res, text pojawi się w Eksplorator plików jako Company właściwość pliku. Jeśli określisz /win32res, informacje o firmie w określonym pliku zasobu będą wyświetlane jako Company właściwość w Eksplorator plików.Jeśli tekst jest pustym ciągiem (""), zasób Win32 Company jest wyświetlany jako pojedyncze miejsce.Jeśli określisz /win32res, /company nie wpłynie na informacje o zasobie Win32. Tę opcję można również określić jako atrybut niestandardowy (AssemblyCompanyAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/config[uration]: text |
Określa ciąg w polu Configuration w zestawie. Umieść ciąg w podwójnym cudzysłowie (" "), jeśli text zawiera spację. Ten ciąg jest dla zestawu atrybutem niestandardowym i może być wyświetlany z refleksją.Jeśli tekst jest pustym ciągiem, zasób Win32 Configuration pojawi się jako pojedyncza spacja. Tę opcję można również określić jako atrybut niestandardowy (AssemblyConfigurationAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/copy[right]: text |
Określa ciąg w polu Copyright w zestawie. Umieść ciąg w podwójnym cudzysłowie (" "), jeśli text zawiera spację. Ten ciąg jest dla zestawu atrybutem niestandardowym i może być wyświetlany z refleksją.Jeśli nie określisz /win32res, /copyright pojawia się w Eksplorator plików jako zasób Win32 Copyright. Jeśli tekst jest pustym ciągiem, zasób Win32 Copyright pojawi się jako pojedyncza spacja. Jeśli określisz /win32res, /copyright nie wpłynie na informacje o zasobie Win32. Tę opcję można również określić jako atrybut niestandardowy (AssemblyCopyrightAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/c[ulture]: text |
Określa ciąg kultury do skojarzenia z zestawem. Prawidłowe wartości dla kultur są zdefiniowane w dokumencie internetowego żądania komentarzy (RFC) 1766 zatytułowanym „Znaczniki identyfikacji języków.” Umieść ciąg w podwójnym cudzysłowie (" "), jeśli text zawiera spację. Nie istnieje domyślny ciąg kultury. Ciąg jest dostępny do wyświetlania z refleksją.Aby uzyskać informacje o prawidłowych text ciągach, zobacz CultureInfo.Tę opcję można również określić jako atrybut niestandardowy (AssemblyCultureAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/delay[sign][+ or -] |
Określa, czy zestaw zostanie podpisany całkowicie czy częściowo. Użyj /delaysign— jeśli chcesz w pełni podpisany zestaw. Użyj /delaysign+ jeśli chcesz dołączyć klucz publiczny tylko do zestawu. Gdy zażądasz w pełni podpisanego zestawu, Al.exe skróty pliku zawierającego manifest (metadane zestawu) i znaki skrótu z kluczem prywatnym. Wynikowy podpis cyfrowy jest przechowywany w pliku, który zawiera manifest. Gdy zestaw jest podpisany z opóźnieniem, Al.exe nie oblicza i nie przechowuje podpisu, ale po prostu rezerwuje miejsce w pliku, aby można było później dodać podpis. Wartość domyślna to /delaysign-. Opcja /delaysign nie ma wpływu, chyba że jest używana z /keyfile lub /keyname. Na przykład użycie / delaysign+ umożliwia testerowi umieszczenie zestawu w globalnej pamięci podręcznej. Po zakończeniu testowania można całkowicie podpisać zestaw, dołączając klucz prywatny do zestawu. Uwaga: Przed użyciem narzędzia Gacutil.exe (globalna pamięć podręczna zestawów) w celu przełączenia zestawu z podpisem opóźnienia do globalnej pamięci podręcznej użyj narzędzia Sn.exe (silnej nazwy), aby zarejestrować zestaw w celu pominięcia weryfikacji. Na przykład Sn.exe –Vr delaySignedAssembly . Używać tylko w celach deweloperskich.Tę opcję można również określić jako atrybut niestandardowy (AssemblyDelaySignAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/descr[iption]: text |
Określa ciąg dla Description pola w zestawie. Umieść ciąg w podwójnym cudzysłowie (" "), jeśli text zawiera spację. Ten ciąg jest dla zestawu atrybutem niestandardowym i może być wyświetlany z refleksją.Jeśli nie określisz /win32res, /description pojawi się w Eksplorator plików jako zasób Komentarze Win32. Jeśli tekst jest pustym ciągiem, zasób Komentarze Win32 jest wyświetlany jako pojedyncze miejsce. Jeśli określisz /win32res, /description nie wpłynie na informacje o zasobie Win32. Tę opcję można również określić jako atrybut niestandardowy (Description) w kodzie źródłowym dla dowolnego modułu CIL. |
/e[vidence]: file |
file Osadza w zestawie nazwę zasobu Security.Evidence.Nie można używać Security.Evidence dla zwykłych zasobów. |
/fileversion: version |
Określa ciąg dla pola Wersja pliku w zestawie. Ten ciąg jest dla zestawu atrybutem niestandardowym i może być wyświetlany z refleksją. Jeśli nie określisz /win32res, /fileversion będzie używany jako zasób wersji pliku Win32. Jeśli nie określisz /fileversion, zasób Wersja pliku Win32 zostanie wypełniony przez zasób Wersja zestawu Win32. Jeśli /win32res jest określony, /fileversion nie ma wpływu na zasób Win32. Tę opcję można również określić jako atrybut niestandardowy (AssemblyFileVersionAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/Flagi: flags |
Określa wartość Flags pola w zestawie. Możliwe wartości dla elementu flags :0x0000 Zestaw jest kompatybilny SxS. 0x0010 Nie można wykonać zestawu z innymi wersjami, jeśli są one wykonywane w tej samej domenie aplikacji. 0x0020 Nie można wykonać zestawu z innymi wersjami, jeśli są one wykonywane w tym samym procesie. 0x0030 Nie można wykonać zestawu z innymi wersjami, jeśli są one wykonywane na tym samym komputerze. Tę opcję można również określić jako atrybut niestandardowy (AssemblyFlagsAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/fullpaths | Powoduje , że Al.exe używać ścieżki bezwzględnej dla wszystkich plików zgłaszanych w komunikacie o błędzie. |
/Pomoc | Wyświetla składnię polecenia i opcje narzędzia. |
/keyf[ile]: filename |
Określa plik (filename ), który zawiera parę kluczy lub tylko klucz publiczny do podpisania zestawu. Kompilator wstawia klucz publiczny w manifeście zestawu, a następnie podpisuje ostateczny zestaw przy użyciu klucza prywatnego. Aby uzyskać informacje na temat generowania plików kluczy i instalowania par kluczy w kontenerach kluczy, zobacz Narzędzie silnej nazwy (Sn.exe).W przypadku używania opóźnionego podpisywania, plik zazwyczaj będzie posiadać tylko klucz publiczny bez klucza prywatnego. Informacje o kluczu publicznym (z pary kluczy) pojawią się w polu .publickey zestawu. Tę opcję można również określić jako atrybut niestandardowy (AssemblyKeyFileAttribute) w kodzie źródłowym dla dowolnego modułu CIL. Jeśli oba /keyfile i /keyname są określone (za pomocą opcji wiersza polecenia lub atrybutu niestandardowego) w tej samej kompilacji, Al.exe najpierw spróbuje kontener określony z /keyname. Jeśli operacja zakończy się to powodzeniem, zestaw zostanie podpisany przy użyciu informacji z kontenera kluczy. Jeśli Al.exe nie znajdzie kontenera kluczy, spróbuje wykonać plik określony za pomocą pliku /keyfile. Jeśli to się powiedzie, zestaw jest podpisany przy użyciu informacji w pliku klucza, a informacje o kluczu zostaną zainstalowane w kontenerze kluczy (podobnie jak opcja -i w Sn.exe), aby w następnej kompilacji opcja /keyname będzie prawidłowa. |
/keyn[ame]: text |
Określa kontener zawierający parę kluczy. Zestaw zostanie podpisany (należy nadać mu silną nazwę) przez wstawienie klucza publicznego do manifestu zestawu. Al.exe następnie podpisze zestaw końcowy kluczem prywatnym. Użyj Sn.exe , aby wygenerować parę kluczy. Informacje o kluczu pojawią się w polu .publickey zestawu. Umieść text w podwójnym cudzysłowie (" "), jeśli istnieje osadzona przestrzeń.Tę opcję można również określić jako atrybut niestandardowy (AssemblyKeyNameAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/główny: method |
Określa w pełni kwalifikowaną nazwę (class .method ) metody, która ma być używana jako punkt wejścia podczas konwertowania modułu na plik wykonywalny. |
/nologo | Pomija baner lub logo wyświetlane w wierszu polecenia podczas wywoływania Al.exe. |
/na zewnątrz: filename |
Określa nazwę pliku utworzonego przez Al.exe. Ta opcja jest wymagana. |
/podest: text |
Ogranicza platformy, na których można uruchomić kod; dopuszczalne wartości to: x86, Itanium, x64, anycpu (domyślnie) lub anycpu32bitpreferred. |
/prod[uct]: text |
Określa ciąg pola Product w zestawie. Umieść ciąg w podwójnym cudzysłowie (" "), jeśli text zawiera spację. Ten ciąg jest dla zestawu atrybutem niestandardowym i może być wyświetlany z refleksją.Jeśli nie określisz /win32res, /product pojawi się w Eksplorator plików jako zasób Nazwa produktu Win32. Jeśli tekst jest pustym ciągiem, zasób Nazwa produktu Win32 jest wyświetlany jako pojedyncze miejsce. Jeśli określisz /win32res, /product nie wpłynie na informacje o zasobie Win32. Tę opcję można również określić jako atrybut niestandardowy (AssemblyProductAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/productv[ersion]: text |
Określa ciąg pola Wersja produktu w zestawie. Umieść ciąg w podwójnym cudzysłowie (" "), jeśli text zawiera spację. Ten ciąg jest dla zestawu atrybutem niestandardowym i może być wyświetlany z refleksją.Jeśli nie określisz /win32res, /productversion będzie używany jako zasób wersji produktu Win32. Jeśli nie określisz /productversion, zasób Wersja produktu Win32 zostanie wypełniony przez zasób Wersja pliku Win32. Jeśli określisz /win32res, /productversion nie wpłynie na informacje o zasobie Win32. Tę opcję można również określić jako atrybut niestandardowy (AssemblyInformationalVersionAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/t[arget]: lib[rary] | exe | win[exe] |
Określa format pliku wyjściowego: lib[rary] (biblioteka kodu), exe (aplikacja konsolowa) lub win[exe] (aplikacja oparta na systemie Windows). Wartość domyślna to lib[rary] . |
/szablon: filename |
Określa zestaw , filename z którego mają dziedziczyć wszystkie metadane zestawu, z wyjątkiem pola kultury.Zestaw utworzony za pomocą /template będzie zestawem satelitarnym. |
/tytuł: text |
Określa ciąg pola Tytuł w zestawie. Umieść ciąg w podwójnym cudzysłowie (" "), jeśli text zawiera spację. Ten ciąg jest dla zestawu atrybutem niestandardowym i może być wyświetlany z refleksją.Jeśli nie określisz /win32res, /title pojawi się w Eksplorator plików jako zasób Opisu Win32, który jest używany przez powłokę jako przyjazną nazwę aplikacji. Jest on również wyświetlany w podmenu Otwórz za pomocą menu skrótów dla typu pliku, dla którego istnieje wiele aplikacji pomocniczych. Jeśli tekst jest pustym ciągiem, zasób Opis Win32 jest wyświetlany jako pojedyncze miejsce. Jeśli określisz /win32res, /title nie wpłynie na informacje o zasobie Win32. Tę opcję można również określić jako atrybut niestandardowy (AssemblyTitleAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/trade[mark]: text |
Określa ciąg dla pola Znak towarowy w zestawie. Umieść ciąg w podwójnym cudzysłowie (" "), jeśli text zawiera spację. Ten ciąg jest dla zestawu atrybutem niestandardowym i może być wyświetlany z refleksją.Jeśli nie określisz /win32res, /trademark pojawi się w Eksplorator plików jako zasób znaku towarowego Win32. Jeśli tekst jest pustym ciągiem, zasób znaku towarowego Win32 jest wyświetlany jako pojedyncze miejsce. Jeśli określisz /win32res, /trademark nie wpłynie na informacje o zasobie Win32. Tę opcję można również określić jako atrybut niestandardowy (AssemblyTrademarkAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/v[ersion]: version |
Określa informacje o wersji zestawu. Format ciągu wersji to major .minor .build .revision . Wartość domyślna to 0.Jeśli określisz /version, musisz określić wartość major . Jeśli określisz major wartości i minor , możesz określić gwiazdkę (*)dla build elementu . Powoduje build to, że liczba dni od 1 stycznia 2000 r., czasu lokalnego i revision jest równa liczbie sekund od północy bieżącego dnia, czasu lokalnego, podzielonego przez 2.Jeśli określisz major wartości , minor i build , możesz określić gwiazdkę dla elementu revision . revision Powoduje to, że liczba sekund od północy bieżącego dnia, czasu lokalnego, podzielona przez 2.Podsumowując, prawidłowe ciągi wersji są następujące: X X.X X.X.* X.X.X X.X.X.* X.X.X.X gdzie X jest dowolną, nieoznaczoną, krótką stałą, z wyjątkiem 65535 (0-65534). Jeśli nie określisz /win32res, /version będzie używany jako zasób wersji zestawu Win32. Jeśli nie określisz /win32res, /productversion i /fileversion, /version będą używane dla zasobów Wersji zestawu, Wersji pliku i Wersji produktu Win32. Jeśli określisz /win32res, /version nie wpłynie na informacje o zasobie Win32. Tę opcję można również określić jako atrybut niestandardowy (AssemblyVersionAttribute) w kodzie źródłowym dla dowolnego modułu CIL. |
/win32icon: filename |
Wstawia plik .ico do zestawu. Plik .ico nadaje plikowi wyjściowemu pożądany wygląd w Eksploratorze plików. |
/win32res: filename |
Wstawia zasób Win32 (plik .res) do pliku wyjściowego. Plik zasobów Win32 może zostać utworzony przy użyciu Kompilatora zasobów. Kompilator zasobów jest wywoływany podczas kompilacji programów Visual C++; plik .res jest tworzony z pliku .rc. |
@filename |
Określa plik odpowiedzi zawierający Al.exe polecenia. Polecenia w pliku odpowiedzi mogą występować w wierszu pojedynczo lub wielokrotnie (rozdzielone przez co najmniej jedną spację). |
/? | Wyświetla składnię polecenia i opcje narzędzia. |
Uwagi
Wszystkie kompilatory programu Visual Studio produkują zestawy. Jeśli jednak masz co najmniej jeden moduł (metadane bez manifestu), możesz użyć Al.exe , aby utworzyć zestaw z manifestem w osobnym pliku.
Aby zainstalować zestawy w pamięci podręcznej, usuń zestawy z pamięci podręcznej lub wyświetl listę zawartości pamięci podręcznej, użyj narzędzia globalnej pamięci podręcznej zestawów (Gacutil.exe).
Błędy i ostrzeżenia
W poniższej tabeli wymieniono błędy wygenerowane przez Al.exe.
Błąd | opis |
---|---|
al1001 | wewnętrzny błąd kompilatora Spróbuj ustalić, czy Al.exe kończy się niepowodzeniem z powodu braku możliwości analizowania nieoczekiwanej składni. Następnie skontaktuj się z pomocą techniczną firmy Microsoft. |
al1002 | Za mało pamięci Al.exe zabrakło pamięci i zatrzymano. Zwiększ ilość dostępnej pamięci. |
al1003 | Po opcji kompilatora "opcja" musi występować argument Al.exe oczekiwano przekazania argumentu do opcji wiersza polecenia. Jeśli na przykład określisz /algid:, musisz przekazać identyfikator algorytmu. |
al1004 | Nieoczekiwany błąd inicjowania środowiska uruchomieniowego języka wspólnego — "przyczyna" Al.exe zgłosił błąd instalacji programu Visual Studio lub środowiska uruchomieniowego języka wspólnego z określoną przyczyną. |
al1005 | Plik "plik" jest za duży, aby otworzyć Wszystkie pliki otwierane przez Al.exe muszą być mniejsze niż 4 gigabajty (GB). |
al1006 | Plik odpowiedzi "plik" został już dołączony Ten sam plik odpowiedzi został określony ( @file ) więcej niż raz w wierszu polecenia. Plik odpowiedzi można dołączyć tylko raz. |
al1007 | Błąd podczas otwierania pliku odpowiedzi "file" — "reason" Al.exe nie można otworzyć określonego pliku odpowiedzi z określonej przyczyny. |
al1008 | Brak specyfikacji pliku dla opcji wiersza polecenia "opcja" Al.exe oczekiwano przekazania pliku do opcji wiersza polecenia. Jeśli na przykład określisz /out opcji, musisz określić plik. |
al1009 | Nie można otworzyć pliku do zapisu Al.exe nie można zapisać w pliku, takim jak wyjściowy plik zestawu. Dysk może być pełny, plik może być tylko do odczytu lub nie masz uprawnień do pliku. |
al1010 | Błąd składni wiersza polecenia: brak opcji ":text" dla opcji "option" Al.exe oczekiwano przekazania argumentu do opcji wiersza polecenia. Jeśli na przykład określisz /title opcji, musisz przekazać ciąg. |
al1011 | Plik "plik" jest plikiem wykonywalnym i nie można go otworzyć jako pliku tekstowego Plik binarny został określony, gdzie oczekiwano pliku tekstowego. Na przykład ten błąd występuje, jeśli plik binarny jest przekazywany w wierszu polecenia jako plik odpowiedzi. |
al1012 | Wartość nie jest prawidłowym ustawieniem opcji "option" Nieoczekiwana wartość została przekazana do opcji wiersza polecenia. Na przykład ten błąd występuje, jeśli określisz nieprawidłową wartość opcji /target . |
al1013 | Nierozpoznana opcja wiersza polecenia: "opcja" Określono nieprawidłową opcję wiersza polecenia. |
al1014 | Nieoczekiwany błąd inicjowania — "reason" Al.exe wykrył błąd inicjowania COM. Może to być spowodowane brakiem pamięci, ale bardziej prawdopodobną przyczyną jest systemowe pliki DLL. Jeśli uruchomisz dowolny program obsługujący automatyzację lub program obsługujący com, taki jak Microsoft Visual Studio, powinien zostać wyświetlony podobny błąd. Zainstaluj ponownie system operacyjny. |
al1015 | Nie można odnaleźć pliku komunikatów "alinkui.dll" Al.exe wymaga Alinkui.dll. Upewnij się, że ten plik znajduje się w ścieżce. W razie potrzeby skopiuj go z dysku CD produktu. |
al1016 | Nie określono prawidłowych plików wejściowych Al.exe wymaga co najmniej jednego pliku wejściowego, który nie zawiera informacji o zestawie. |
al1017 | Nie określono nazwy pliku docelowego Brak wymaganej /out opcji określania nazwy pliku docelowego. |
al1018 | Nie można załadować wymaganego pliku "file" Nie można załadować niektórych plików DLL. Zainstaluj ponownie program Visual Studio lub zestaw Windows SDK. |
al1019 | Błąd metadanych podczas tworzenia zestawu — przyczyna Generowanie zestawu zostało przerwane z określonego powodu. Na przykład ten błąd występuje, jeśli nie można odnaleźć pliku określonego za pomocą opcji /win32res . |
al1020 | Ignorowanie dołączonego zestawu "file" Określono plik wejściowy zawierający zestaw. Al.exe plików wejściowych nie może zawierać zestawów. |
al1021 | "setting" : zastępowanie poprzedniego ustawienia Moduł miał wartość dla określonego ustawienia, prawdopodobnie przypisane za pomocą atrybutów niestandardowych, które zostały zastąpione wartością przekazaną przy użyciu opcji wiersza polecenia Al.exe . |
al1022 | Błąd podczas odczytywania osadzonego zasobu "file" — przyczyna Al.exe nie można odczytać pliku przekazanego do opcji /embedresource z określonej przyczyny. |
al1023 | Błąd podczas osadzania zasobu "file" — przyczyna System operacyjny nie może osadzić pliku zasobu w zestawie z określonej przyczyny. |
al1025 | Rekord ComType "record" wskazuje nieprawidłowy rekord pliku "record" Metadane w module wejściowym są nieprawidłowe. Narzędzie, które wyprodukowało moduł, musi zostać naprawione. |
al1026 | Określona wersja "version" jest nieprawidłowa Zobacz informacje o /version opcji prawidłowe formaty. |
al1028 | Brak klucza "plik" klucza prywatnego wymaganego do podpisania Plik klucza zawierający tylko klucz publiczny został przekazany do opcji /keyfile . Użyj narzędzia silnej nazwy (Sn.exe), aby wygenerować plik, który ma zarówno klucz publiczny, jak i prywatny, jak pokazano w poniższym poleceniu. sn -k keypair.snk. |
al1029 | Nazwa kontenera klucza "container" nie istnieje Wartość przekazana do opcji /keyname nie jest prawidłowym kontenerem. Użyj narzędzia strong name (Sn.exe), aby utworzyć kontener. |
al1030 | Usługa kryptograficzna nie jest poprawnie zainstalowana lub nie ma odpowiedniego dostawcy kluczy Może być konieczne ponowne zainstalowanie systemu operacyjnego lub zainstalowanie narzędzia kryptograficznego użytego do utworzenia klucza. |
al1031 | Błąd podczas odczytywania ikony "plik" — przyczyna Al.exe nie można odczytać pliku przekazanego do opcji /win32icon z określonej przyczyny |
al1032 | Błąd podczas generowania zasobów dla "pliku" — przyczyna Al.exe nie można utworzyć pliku z powodu niewystarczającej ilości miejsca na dysku lub innego błędu. Ten błąd występuje podczas określania opcji /win32icon (która generuje plik .ico) lub nie określa /win32res opcji (która generuje plik zawierający informacje o zasobie). Jeśli nie możesz rozwiązać problemu z generowaniem plików, użyj /win32res, który określa plik, który może zawierać informacje o wersji lub mapie bitowej (ikona). |
al1033 | Atrybut niestandardowy zestawu "attribute" został określony wiele razy z różnymi wartościami Różne wartości zostały przekazane do dwóch wystąpień tego samego atrybutu niestandardowego w modułach źródłowych, które są określone jako dane wejściowe do Al.exe. |
al1034 | Nie można skopiować ani zmienić nazwy zestawu "plik" Używając składni Al.exe, która umożliwia określenie pliku wejściowego i skopiowanie go, wystąpił konflikt nazw, który zatrzymał kompilator. Na przykład ten błąd występuje, jeśli określisz input.dll,somename.dll /out:somename.dll wartość . |
al1035 | Biblioteki nie mogą mieć punktu wejścia Nie można określić opcji /target:lib (wartość domyślna ) i /main opcji. |
al1036 | Punkt wejścia wymagany dla aplikacji wykonywalnych W przypadku używania opcji /target:exe lub /target:win należy również określić /main opcji. |
al1037 | Nie można odnaleźć metody punktu wejścia "main" Al.exe nie można odnaleźć Main metody w lokalizacji określonej przez /main opcji. |
al1039 | Inicjowanie globalnego menedżera pamięci podręcznej zestawów nie powiodło się — przyczyna Zainstaluj ponownie program Visual Studio lub zestaw Windows SDK. |
al1040 | Nie można zainstalować zestawu w pamięci podręcznej — przyczyna W pamięci podręcznej można instalować tylko podpisane zestawy. Aby uzyskać więcej informacji, zobacz Global Assembly Cache (Global Assembly Cache). |
al1041 | "method": nie może być punktem wejścia, ponieważ podpis lub widoczność jest niepoprawna lub jest ogólna Metoda została określona z /main opcji, ale ta metoda nie jest statyczna, nie zwraca int lub void , był ogólny lub ma nieprawidłowe argumenty. |
al1042 | "exe": Nie można dodać modułów EXEs Plik .exe , który nie ma zestawu, został określony jako plik wejściowy do Al.exe. Al.exe mogą pobierać pliki dll tylko bez zestawów jako pliki wejściowe. |
al1043 | Nazwa pliku manifestu "name" nie może być taka sama jak w przypadku żadnych modułów Nazwa określona z /out opcji nie może być taka sama jak dowolna z nazw plików, które są określone jako dane wejściowe do Al.exe. |
al1044 | Błąd podczas odczytywania pliku klucza "file" — przyczyna Wystąpił błąd podczas otwierania lub odczytywania z pliku określonego za pomocą pliku /keyfile lub AssemblyKeyFileAttribute. |
al1045 | Nazwa pliku "file" jest za długa lub nieprawidłowa Nazwa pliku dłuższa niż 260 znaków została przekazana do Al.exe. Wybierz nazwę pliku z mniejszą liczbą znaków lub krótszą ścieżką lub zmień nazwę pliku. |
al1046 | Identyfikator zasobu "ID" został już użyty w tym zestawie Dwa zasoby, osadzone lub połączone, mają ten sam identyfikator lub nazwę (drugi argument). Usuń lub zmień nazwę jednego z zasobów powodujących konflikt. |
al1047 | Błąd podczas importowania pliku "file" — przyczyna Nie można otworzyć pliku modułu z określonej przyczyny. |
al1048 | Błąd podczas importowania modułu "module" zestawu "assembly" — przyczyna Wystąpił błąd podczas otwierania pliku niemanifest zestawu wieloplikowego. Ten błąd nie jest emitowany bezpośrednio przez Al.exe, ale można go przekazać programowo do procesu korzystającego z Al.exe. |
al1049 | Nie można automatycznie wygenerować numerów wersji kompilacji i poprawek dla dat przed 1 stycznia 2000 r. Zegar systemowy na komputerze jest ustawiony na datę wcześniejszą niż 1 stycznia 2000. |
al1050 | Funkcja, której używasz "starej funkcji", nie jest już obsługiwana; Zamiast tego użyj polecenia "nowa funkcja" Funkcja obsługiwana wcześniej przez Al.exe jest teraz przestarzała. Zamiast tego użyj zalecanej funkcji. |
al1051 | Błąd podczas emitowania atrybutu "attribute" — przyczyna Atrybut niestandardowy zestawu nie został przetworzony przez Al.exe z określonej przyczyny. |
al1052 | Plik "nazwa pliku" nie jest zestawem Plik określony za pomocą /template musi zawierać metadane zestawu. Ten błąd wskazuje, że plik określony przez /template nie zawiera zestawu. |
al1053 | Wersja "version" określona dla opcji nie jest w normalnym formacie "major.minor.build.revision" Al.exe wykryto nieumyślne informacje o wersji określone z opcjami /fileversion lub /productversion. |
al1054 | Wersja "version" określona dla opcji nie jest w normalnym formacie "major.minor.build.revision" Al.exe wykryto nieumyślne informacje o wersji określone za pomocą polecenia SatelliteContractVersionAttribute. |
al1055 | Przywołyny zestaw "nazwa_pliku" nie ma silnej nazwy Ten błąd jest wyświetlany podczas kompilowania zestawu o silnej nazwie i odwołuje się do zestawu, który nie ma silnej nazwy. Aby rozwiązać ten problem, należy ponownie wygenerować zestaw z silną nazwą lub dołączyć silną nazwę do zestawu przy użyciu Sn.exe (zobacz dokumentację dotyczącą Sn.exe). Typowym wystąpieniem tego błędu jest użycie obiektów COM za pomocą zestawów otoki, takich jak dodanie odwołania do modułu COM do projektu C# za pomocą środowiska IDE programu Visual Studio. Aby uniknąć błędu, możesz określić plik klucza silnej nazwy dla zestawów otoki COM w właściwości projektu "Plik/nazwa klucza zestawu otoki" Jeśli tworzysz zestaw otoki za pomocą tlbimp, zapoznaj się z dokumentacją tlbimp , aby uzyskać informacje na temat przypisywania silnej nazwy do zestawu otoki. Jeśli zestaw ma silną nazwę, można go zainstalować w globalnej pamięci podręcznej zestawów. W związku z tym przywoływały zestawy również przechodziły do globalnej pamięci podręcznej zestawów. Tylko zestawy o silnych nazwach mogą przechodzić do globalnej pamięci podręcznej zestawów. |
al1056 | Przywoływny zestaw "nazwa pliku" jest zlokalizowanym zestawem satelitarnym Zestaw utworzony przy użyciu atrybutu AssemblyCultureAttribute został przywoływał podczas tworzenia bieżącego zestawu. Atrybut AssemblyCultureAttribute wskazuje, że plik jest zlokalizowanym zestawem satelitarnym i nie jest odpowiedni do odwołania się do zestawu satelitarnego. Odwołuj się zamiast tego do głównego zestawu nadrzędnego. |
al1057 | Nie można lokalizować plików wykonywalnych. Kultura powinna być zawsze pusta Zestaw jest tworzony przy użyciu / target:exe , ale /culture został określony. Zestawy w .exe nie mogą zawierać informacji w polu Kultura. |
al1058 | "plik" jest zestawem i nie można go dodać jako modułu W kompilacji języka C++ /assemblymodule (opcja konsolidatora) został przekazany plik, który zawierał zestaw. |
al1059 | Nieznany błąd (kod) Al.exe odebrano nieznany kod błędu ( code ).Możliwe rozwiązania obejmują następujące elementy: Zainstaluj ponownie program Visual Studio. Zainstaluj ponownie zestaw Windows SDK. Sprawdź brakujących plików. Sprawdź odpowiednie miejsce na dysku. Sprawdź odpowiednią pamięć. Zatrzymaj inne procesy, które mogą uzyskiwać dostęp do plików. Uruchom ponownie komputer. |
al1060 | Błąd kryptograficzny podczas tworzenia skrótów — przyczyna Wystąpił błąd podczas tworzenia skrótów plików dla zestawu wieloplikowego. |
al1061 | Nie można ustawić opcji "option", ponieważ "reason" Wartość określona dla tej opcji jest nieprawidłowa z określonej przyczyny. |
al1062 | Moduł "module" został określony wiele razy; zostanie uwzględniona tylko raz To ostrzeżenie jest generowane, gdy ten sam plik źródłowy, wejściowy lub modułowy jest określany wiele razy w wierszu polecenia. Upewnij się, że nazwa pliku została określona tylko raz. |
al1063 | Typ publiczny "type" jest zdefiniowany w wielu lokalizacjach w tym zestawie: "file1" i "file2" Ten sam typ został znaleziony w więcej niż jednym module w zestawie. W zestawie może znajdować się tylko jedna wersja każdego typu. |
al1064 | Nie można określić wielu opcji /bugreport. Dozwolona jest tylko jedna opcja /bugreport . |
al1065 | Nazwa pliku "Nazwa pliku" jest za długa lub nieprawidłowa Określona nazwa pliku jest dłuższa niż dozwolona maksymalna. |
al1066 | Znak "znak" nie jest dozwolony w wierszu polecenia lub w plikach odpowiedzi Znaleziono nieprawidłowy znak w wierszu polecenia lub w pliku. |
al1067 | "nazwa pliku" jest plikiem binarnym zamiast pliku tekstowego Plik jest w formacie binarnym zamiast tekstu. |
al1068 | Moduł "ModuleName" jest już zdefiniowany w tym zestawie. Każdy połączony zasób i moduł muszą mieć unikatową nazwę pliku. Moduł występuje więcej niż raz w tym zestawie. |
al1069 | Nie można utworzyć krótkiej nazwy pliku "nazwa pliku", gdy istnieje już długa nazwa pliku o tej samej krótkiej nazwie pliku Bieżący plik ma nazwę, która jest krótką wersją nazwy pliku, która już istnieje. Na przykład skompilowanie LongFileName.cs, a następnie ponowne skompilowanie z nazwą LongFi~1.cs spowoduje błąd kompilatora podobny do tego. Jeśli pliki wyjściowe kompilatora, które mają długie nazwy, zostały usunięte, ale analogiczne pliki konsolidatora pozostały, ten błąd może wystąpić. |
al1070 | Niezależny zestaw nie może mieć modułu specyficznego dla procesora "Nazwa modułu" Jeśli tworzysz przy użyciu / platform:agnostic (lub nie określisz /platformy), zostanie wygenerowany błąd, jeśli spróbujesz dodać moduł (przy użyciu /addmodule), który nie jest niezależny. To jest jak próba połączenia pliku obj i386 z ia64 obj. Głównym źródłem niezwiązanych modułów jest C++. Jeśli używasz /addmodule z modułem C++, może być konieczne zmodyfikowanie skryptów kompilacji w celu określenia odpowiedniego ustawienia /platformy . |
al1072 | Zestaw i moduł "Nazwa modułu" nie mogą być przeznaczone dla różnych procesorów Nie można połączyć zestawu i modułu przeznaczonego dla różnych procesorów, ponieważ wynik musi działać na jednym procesorze. |
al1073 | Przywołyny zestaw "zestaw" jest przeznaczony dla innego procesora Nie można połączyć zestawów przeznaczonych dla różnych procesorów, ponieważ wynik musi działać na jednym procesorze. |
al1074 | Nazwa modułu "Nazwa modułu" przechowywana w nazwie pliku musi być zgodna z nazwą pliku Jest to wymagane przez konsolidator. Aby rozwiązać ten problem, należy dopasować te dwie nazwy. |
al1075 | Zażądano podpisania z opóźnieniem, ale nie podano klucza Gdy zestaw jest opóźniony, kompilator nie oblicza i nie przechowuje podpisu, ale rezerwuje miejsce w pliku, aby można było dodać podpis później. Na przykład użycie / delaysign+ umożliwia testerowi umieszczenie zestawu w globalnej pamięci podręcznej. Po przetestowaniu można w pełni podpisać zestaw, dodając klucz prywatny do zestawu przy użyciu narzędzia konsolidatora zestawów. |
al1076 | Typ "type" jest przekazywany do wielu zestawów: "assembly" i "assembly". Typ może być przekazywany tylko do jednego zestawu. |
al1077 | Typ publiczny "type" jest definiowany w zestawie i przekazywany do "zestawu". W generowanym zestawie występuje zduplikowany typ publiczny. Jedna z nich jest prawidłową definicją typu, a druga jest usługą przesyłania dalej typu. |
Przykład
Następujące polecenie tworzy plik wykonywalny t2a.exe z zestawem z modułu t2.netmodule
. Punkt wejścia to Main
metoda w MyClass
pliku .
al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main