IRONSOFTWAREHOME

.NET Framework 4.8 Windows Dienst-Startausnahmen

Curtis Chau
Curtis Chau
Updated: 10. Juni 2026

Ein IronPDF .NET Framework 4.8 Windows Service Projekt löst FileNotFoundException aus, wenn ChromePdfRenderer konstruiert wird, oder StackOverflowException, wenn der Lizenzschlüssel gesetzt wird. Der gleiche Code funktioniert korrekt in einem Konsolen- oder WinForms-Host.

Die Fassadeerkennung von MSBuild verhindert, dass sechs von NuGet bereitgestellte Assemblys in das Ausgabeverzeichnis kopiert werden: System.ValueTuple, System.Buffers, System.Threading.Tasks.Extensions, System.Text.Json, System.Text.Encodings.Web und System.Text.Encoding.CodePages. MSBuild geht davon aus, dass die in-box .NET 4.8-Versionen dieser Assemblys den NuGet-Versionen entsprechen, aber die Binding-Redirects in App.config erfordern die NuGet-Versionen. Die fehlenden Dateien verursachen die Ausnahme beim Start.

Lösung

Option 1: Migration zu PackageReference (Empfohlen)

Rechtsklicken Sie in Visual Studio auf packages.config und wählen Sie Pakete.config in PackageReference migrieren. Verifizieren Sie, dass <AutoGenerateBindingRedirects> in der .csproj Datei aktiviert ist, und bauen Sie dann neu auf. Die MSBuild-Integration von PackageReference führt nicht zu dem Fassade-Überspringen-Verhalten.

Option 2: Erzwingen der Kopie von Fassade-DLL mit einem Nachbauziel

Falls das Beibehalten von packages.config erforderlich ist, fügen Sie dieses MSBuild-Ziel zur .csproj Datei hinzu:

<Target Name="CopyFacadeAssemblies" AfterTargets="Build">
    <ItemGroup>
        <FacadeAssemblies Include="..\packages\System.Buffers.4.5.1\lib\netstandard2.0\System.Buffers.dll" />
        <FacadeAssemblies Include="..\packages\System.Text.Encodings.Web.6.0.1\lib\net461\System.Text.Encodings.Web.dll" />
        <FacadeAssemblies Include="..\packages\System.Text.Json.6.0.11\lib\net461\System.Text.Json.dll" />
        <FacadeAssemblies Include="..\packages\System.Text.Encoding.CodePages.5.0.0\lib\net461\System.Text.Encoding.CodePages.dll" />
        <FacadeAssemblies Include="..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll" />
        <FacadeAssemblies Include="..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll" />
    </ItemGroup>
    <Copy SourceFiles="@(FacadeAssemblies)" DestinationFolder="$(OutputPath)" SkipUnchangedFiles="true" />
</Target>
XML

Passen Sie die Versionsnummern an, um mit den exakten Versionen übereinzustimmen, die in Ihrem packages Verzeichnis wiederhergestellt wurden.

Das Setzen von <Private>True</Private> (Copy Local) auf Fassadeverweise löst das Problem nicht; Die Fassade-Erkennung von MSBuild blockiert weiterhin den Kopiervorgang.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Bereit anzufangen?

Nuget Downloads 20,878,335Version:2026.9gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.