Ich arbeite mit dem .NET 8.0 CLI und Rider an einer .NET 8.0 -Lösung auf macOS. Mein Projekt verwendet
für Abhängigkeiten wie Litedb und TiktokenSharp. (Fehlen Sie eine Verwendungsanweisung oder eine Assembly -Referenz?) Name, der schlecht gebildet wird. < /p>
< /Blockquote>
Ich habe festgestellt
Code: Select all
packages/litedb/5.0.16/lib\netstandard2.0\LiteDB.dll
Beachten Sie die Windows-Style Backslashes (
) in der Ordnerstruktur. Dies ist auf MacOS, wo Pfade vorwärts -Schrägstrichen verwenden sollten (
Code: Select all
/< /code>). Richtig.dotnet clean
dotnet nuget locals all --clear
Also ran a custom script to clear:
[*]NuGet HTTP cache
[*]Local packages folder
[*]Temp cache
[*]Plugin cache
All bin/ and obj/ Ordner < /li>
< /ul>
< /li>
Mit Kraft restauriert < /p>
Nachfolger, aber der Build war immer noch mit den gleichen Fehlern gescheitert. Backslashes im Pfad: < /p>
Dies ist für macOS ungültig und bricht die MSBUILD-Pfadauflösung. Gibt es eine Möglichkeit, diese Normalisierung zu
verhindern oder zu einer Kraftpfadnormalisierung, sodass MSBuild die DLLs korrekt auflösen kann? Dort wurde jedoch keine Problemumgehung vorgeschlagen (außer dem Kontakt mit den Paketentwicklern, was unpraktisch ist). Es scheint, dass alle Pfade auf/user /.../ pakete/litedb/5.0.16/lib/netSpandard1.3/litedb.dll zeigen, während sich die DLL tatsächlich unter /Users/.../packages/litedb/5.0.16/lib\ netSpaDard1.3\ litedb.dlledb.dll verwandt. Hier "src ="
https://i.sstatic.net/4ati4d3l.png 1.0.8 . Irgendwie löste es das Problem und ich konnte die Lösung aufbauen. Ich verstehe nicht, wie diese Problemumgehung das Problem löste und was die Grundursache war.>