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
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:
Das (gekürzte) CSPROJ für meinen Quellgenerator lautet:
Und mein Testprojekt ist:
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
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]
Code: Select all
net7.0
enable
enable
default
true
false
true
$(GetTargetPathDependsOn);GetDependencyTargetPaths
Code: Select all
Exe
net7.0
enable
enable
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