Page 1 of 1

Der Analysator kann nicht im Nuget-Paket verwendet werden – Eine Instanz des Analysators kann nicht aus der DLL erstellt

Posted: 04 Jan 2025, 02:29
by Guest
Ich habe einen Quellgenerator erstellt, der, abgesehen von einigen Problemen, größtenteils zu funktionieren scheint.
Ich habe ihn während der Entwicklung anhand eines Testprojekts mit einer Projektreferenz auf den Generator getestet.
Ich habe es jetzt in ein Nuget-Paket gepackt und versuche, es damit in einem anderen Projekt zu verwenden, erhalte jedoch diese nicht sehr hilfreiche Warnung:

Code: Select all

CSC : warning CS8032: An instance of analyzer SuperFluid.Internal.SourceGenerators.FluidApiSourceGenerator cannot be created from /home/james/.nuget/packages/superfluid/0.0.1/analyzers/dotnet/cs/SuperFluid.dll : Exception has been thrown by the target of an invocation.. [/home/james/repos/SuperFluid/src/DemoProject/DemoProject.csproj]
Das (gekürzte) CSPROJ für meinen Quellgenerator lautet:

Code: Select all



net7.0
enable
enable
default
true
false
true


















$(GetTargetPathDependsOn);GetDependencyTargetPaths















Und mein Testprojekt ist:

Code: Select all



Exe
net7.0
enable
enable











Weiß jemand, was die Ursache dafür sein könnte? Wenn nicht, wie kann ich die Details dieser inneren Ausnahme erhalten?

Bearbeiten: Ich habe meinen Quellgenerator neu ausgerichtet, um netstandard2.0 zu verwenden, und das funktioniert Scheint nicht geholfen zu haben:
Mir ist auch diese Warnung aufgefallen, die möglicherweise relevant ist, wenn ich packe:

/usr/share/dotnet/sdk/7.0.105/Sdks/NuGet.Build.Tasks.Pack/build/NuGet.Build.Tasks.Pack.targets(221,5): Warnung NU5128: – Hinzugefügt lib- oder ref-Assemblys für das Netstandard2.0-Zielframework