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 sourceselementó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[resource]: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 fileelement . 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 optionswartoś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łówne: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.
/out:filename Określa nazwę pliku utworzonego przez Al.exe. Ta opcja jest wymagana.
/Platformy: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].
/Szablonu:filename Określa zestaw , filenamez 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 buildelementu . 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 majorwartości , minori 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.dllwartość .
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 MyClasspliku .

al t2.netmodule /target:exe /out:t2a.exe /main:MyClass.Main

Zobacz też