7

çalışmıyor.InternalsVisibleTo nitelik

[assembly: InternalsVisibleTo("Stuff.Test.Support, PublicKey="0024000004800000940000000302000000240000525341310004000001000100d158cd56401c3d90b52ca1a5f273d608c3ce12aaa21385b0f4ad7dc1b747e45ee1f1771c104c52cb4da1b587ae38b6d36fa1d8e8f14003c42f700bc62ef2ec04b231c5d930e4bc3691aa1ef7b6713926316d4be1165ede086e94190b44edd4ad0d024230ae6eb9deb728b00d71d1d468b20a9bb78f242bd6c41e640c2e5c0cd5")] 

Özellikler/AssemblyInfo.cs dosyasında erişmek istediğim dahili öğelerle. Bunu kontrol etmeden önce çalışıyordu. ancak Team Foundation IDK WTF ile birleştikten sonra yanlış ama AssemblyInfo.cs'im bu özelliği göremiyor ama dosyada hiçbir şeyin değişmediğini doğruladım ama hala "innaccessable due to its protection level." hatasını aldım. (Gama Radyasyon? Güneş lekesi? Çalışmıyor koduna çalışma tweek için böcek yetiştirmek küçük kötülük cinleri lol) Ben sadece yansıma kullanarak tek tek örneklerini ekleyerek denedim

...

Assembly Core = Assembly.LoadFile("C:\Stuff.Internal.Core\bin\Debug\Stuff.Internal.Core.dll"); 

Object AssmWithIdentifier = Core.CreateInstance("AssemblyWithIdentifer", false); 

Ben girişimi benim proje gayet derler iç malzeme ile yapmak zorunda şey açýklama Aksi takdirde bu ben 'Stuff.Internal.AssemblyWithIdentifer' is inaccessible due to protection level.

olsun. Ben çift

Red Gates Reflektör

ile benim "publickey" işaretli ve ben de muhtemelen erişim yöntemleri yolu ama ben iç bir şey örneğini olamaz deneyin nasıl olursa olsun privateObjects kullanarak çalıştılar.

Ayrıca, yeni bir proje eklemeyi denedim, herhangi bir başvuru kaynağı derledim ve aslında işe yaradı evet ama bundan sonra yeni bir proje oluşturmaya ve "Stuff.Test.Support" projesindeki tüm öğeleri eklemeye dahil olmayı kabul ettim. ben de aynı hatayı almak derlemek girişiminde kez ve benzeri ve ben erişmek isteyen projede ki AssemblyInfo.cs için eklemek ama "innaccessable due to its protection level."

Düzenleme: Ben öyleyim söz unuttunuz mu genel olarak derlemeleri yöneten ve bu sorunun başında gösterdiğim örnekle assembly: InternalsVisibleTo özniteliğine benzer şekilde kurulan çeşitli özniteliklere sahip bir sharedAssembly.cs kullanarak . Örneğim tarafından öne sürülen bir şey değilse, Güçlü Adlandırılmış derlemeleri de kullanıyorum.

+2

Hey, belki o projeden herhangi bir iş akışı tanımları kaldırmalısınız! Bunu dene. Çalışıyor – Will

+0

OMG. Belki de bunu cevap olarak bırakmalısın, böylece bunun için biraz kredi alabilirsin. – Terrance

cevap

4

tutarsızlık neden olduğunu iş akışı tanımları ortaya çıktı. Yine de neden olduğunu anlamaya çalışıyorum .....
Eğer birisi benden neden +1 alacağını açıklayan bir şeye bağlantı sağlayabilirse.

+2

Düzeltmek için ne yaptınız? –

+0

Projedeki tüm iş akışı kusurlarını kaldırdım. En iyi cevap değil ama şimdi çalışıyor. Ve bunun için Microsoft'a şu anda bir hata raporu var. Ve bağlantı https://connect.microsoft.com/VisualStudio/feedback/details/588710/internalsvisibleto-fails-when-mixed-with-wf4-0-activity-definitions-and-custom-activities – Terrance

+0

İş akışı nasıl çıkıyor? tanımlar ??? – RouR

2

1) InternalsVisibleTo doğru bir şekilde kurulmuş, sen 'arkadaş', sadece ctor en direkt gibi kullanabilir onları örneğini yansıma gerekmez. Bu rotaya gidersem VS IDE, dahililerin hedef projeye gerçekten görünüp görünmediği konusunda size daha hızlı geri bildirim verebilir. Daha sonra got hata mesajı göre

2), sen InternalsVisibleTo ("Stuff.Test.Support") denediniz mi?

+0

1) Şu anda çalışmıyor olduğundan, yansımayı InternalsVisibleTo kullanmaya alternatif olarak denedim. Şu anda yansımayla uğraşıyorum ve kaçırdığım bir şey olup olmadığını görüyorum. 2) Şu anda güçlü adlandırılmış derlemeler kullanıyorum, bu yüzden hata alıyorum Arkadaş derleme başvurusu 'Stuff.Tests.Support' geçersiz. Güçlü isim imzalı derlemeler, InternalsVisibleTo bildirimlerinde bir ortak anahtar belirtmelidir. \t Maalesef sorumu kurulumum hakkında biraz daha fazla bilgi vermek için değiştirdim. Belki bu sana daha iyi yardımcı olabilir. – Terrance