Von der Quelle generierte Dateien können in Unity keine Namespaces verwendenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Von der Quelle generierte Dateien können in Unity keine Namespaces verwenden

Post by Anonymous »

Ich versuche, einen Quellgenerator zum Laufen zu bringen, aber aus irgendeinem Grund enthält er nicht den benötigten Namespace. Der generierte Code sieht folgendermaßen aus:
using OwlTree; // namespace proxy factory is from
using System;

public class ProjectProxyFactory : ProxyFactory
{
...
}

Ich erhalte die Fehlermeldung:

OwlTree.Generator\OwlTree.Generator.OwlTreeGenerator\ProjectProxyFactory.g. cs(1,7): Fehler CS0246: Der Typ- oder Namespace-Name „OwlTree“ konnte nicht gefunden werden (fehlt Ihnen eine using-Direktive oder eine Assembly). Referenz?)

sowie eine Reihe anderer, die in ähnlicher Weise sagen, dass Typen aus dem OwlTree-Namespace fehlen.
Ich habe diese Anweisungen befolgt: https://docs.unity3d.com/2022.1/Documen ... yzers.html
Und so sieht meine Generator-DLL im Editor aus :
Image

Die enthaltenen CS-Dateien Alles im OwlTree-Namespace befindet sich in meinem Assets-Ordner, wird nicht in eine eigene DLL kompiliert und der Quellgenerator befindet sich nicht in einer separaten Assemblydefinition. Die Dinge, die ich gefunden habe, sind:
  • Das Verschieben des OwlTree-Codes in oder aus einer Assemblydefinition ändert nichts.
  • Das Verschieben von Typen, die sich im OwlTree-Namespace befinden, aus dem Namespace behebt die nicht gefundenen Fehler im generierten Quellcode.
    < /li>
    Der Quellgenerator funktioniert ordnungsgemäß in der Sprache meines Editors Server, wenn er im Unity-Projekt geöffnet ist (sowie in meinen Testprojekten außerhalb von Unity), daher ist es nur ein Problem mit der Funktionsweise des Generators in Unity.
  • Ich habe versucht, die für die Generator-DLL ausgewählte und nicht ausgewählte Referenz automatisch zu referenzieren und zu validieren. Es ändert nichts.
  • Im CSPROJ des Unity-Projekts ist meine DLL als enthalten Analysegerät, aber es enthält nicht
    true
Dies ist die csproj-Datei für den Generator selbst:



9.0
netstandard2.0
false
disable
disable
true
true




all
runtime; build; native; contentfiles; analyzers; buildtransitive

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post