Bevor ich gehe auf I InternalsVisibleTo attribute ain’t workin'!InternalsVisibleTo Attribut funktioniert nicht
dieser durchlaufen hat daher der Titel
Okay, so ich eine funktionierende Version von meinem Projekt hatte, das so etwas wie die folgenden verwendet wurde.
[assembly: InternalsVisibleTo("Stuff.Test.Support, PublicKey="0024000004800000940000000302000000240000525341310004000001000100d158cd56401c3d90b52ca1a5f273d608c3ce12aaa21385b0f4ad7dc1b747e45ee1f1771c104c52cb4da1b587ae38b6d36fa1d8e8f14003c42f700bc62ef2ec04b231c5d930e4bc3691aa1ef7b6713926316d4be1165ede086e94190b44edd4ad0d024230ae6eb9deb728b00d71d1d468b20a9bb78f242bd6c41e640c2e5c0cd5")]
In der Datei Properties/AssemblyInfo.cs mit den internen Sachen, auf die ich zugreifen möchte. Vor dem Einchecken funktionierte es. aber nach der Fusion auf Team Foundation IDK WTF ist falsch, aber es ist wie meine AssemblyInfo.cs nicht das Attribut sehen, aber ich habe überprüft, dass nichts in der Datei geändert hat, aber immer noch bekomme ich die "innaccessable due to its protection level."
Fehler. (Gama Radiation? Sunspot? Die kleinen bösen Zwergen, die Bugs trainieren Code in nicht funktionierenden Code tweek arbeiten lol)
Ich habe versucht, das Hinzufügen nur die einzelnen Instanzen Reflexion mit ...
Assembly Core = Assembly.LoadFile("C:\Stuff.Internal.Core\bin\Debug\Stuff.Internal.Core.dll");
Object AssmWithIdentifier = Core.CreateInstance("AssemblyWithIdentifer", false);
Wenn ich versuche, dies bekomme ich 'Stuff.Internal.AssemblyWithIdentifer' is inaccessible due to protection level.
Ansonsten, wenn ich etwas auskommen, was mit den internen Sachen zu tun hat, kompiliert mein Projekt ganz gut.
Ich doppelt überprüft meine „PublicKey“ mit Red Gates Reflector
und ich habe auch versucht, privateObjects möglicherweise Zugriffsmethoden auf diese Weise aber egal, mit wie ich versuche ich nicht intern etwas instanziieren kann.
Ich habe auch versucht, einfach ein neues Projekt hinzufügen, kompilieren sie jede Referenzierung und ja, dass tatsächlich funktioniert, aber danach versuchte ich ein neues Projekt zu erstellen und fügen Sie alle Sachen in "Stuff.Test.Support" -Projekt, um Referenzen aufzunehmen und dergleichen, und fügen hinzu, dass die AssemblyInfo.cs, die in in dem Projekt, das ich wünsche, aber für den Zugriff, sobald ich zu kompilieren versuchen, bekomme ich die gleichen Fehler "innaccessable due to its protection level."
Edit: ich habe vergessen zu erwähnen, ich bin Verwenden einer sharedAssembly.cs, die die Assemblys global verwaltet und mehrere Attribute aufweist, die auf ähnliche Weise wie das Beispiel assembly: InternalsVisibleTo
Attribut, das ich am Anfang dieser Frage gezeigt habe, eingerichtet wurden . Ich verwende auch Strong Named Assemblies, wenn das etwas ist, das nicht durch mein Beispiel hervorgehoben wird.
Hey, vielleicht sollten Sie alle Workflow-Definitionen aus diesem Projekt entfernen! Probieren Sie das aus. – Will
OMG das funktioniert. Vielleicht sollten Sie das als Antwort aufschreiben, damit Sie tatsächlich etwas dafür bekommen können. – Terrance