निम्नलिखित परियोजना संरचना पर विचार करें (जैसा कि संलग्न है):

समाधान:

  • प्रथम श्रेणी पुस्तकालय
    • FirstClass.cs
  • सेकेंडक्लास लाइब्रेरी (संदर्भ फर्स्टक्लास लाइब्रेरी प्रोजेक्ट)
    • SecondClass.cs
  • मेनवेबप्रोजेक्ट (संदर्भ सेकेंडक्लास लाइब्रेरी प्रोजेक्ट)

तो, मुख्य परियोजना में मुझे केवल सेकेंड क्लास लाइब्रेरी में कक्षाओं तक पहुंचना चाहिए लेकिन वास्तव में क्या हो रहा है कि मेरे पास फर्स्ट क्लास लाइब्रेरी और सेकेंड क्लास लाइब्रेरी में सभी कक्षाओं तक पूर्ण पहुंच है।

ऐसा क्यूँ होता है? और संदर्भित वर्ग पुस्तकालयों तक पहुँचने से कैसे रोकें?

परियोजना संरचना और समस्या

0
Sayed Khalaf 19 अप्रैल 2020, 19:12

1 उत्तर

सबसे बढ़िया उत्तर

क्योंकि .NET में कोर डिपेंडेंसी डिफ़ॉल्ट रूप से ट्रांजिटिव होती है:

और पढ़ें : .NET कोर ट्रांजिटिव डिपेंडेंसी और कैसे करें उन्हें ब्लॉक करें

इस ब्लॉक को Project.csproj में जोड़ें, जिसे आप एसेट छिपाना चाहते हैं।

<ItemDefinitionGroup>
  <PackageReference>
     <PrivateAssets>all</PrivateAssets>
  </PackageReference>
  <ProjectReference>
     <PrivateAssets>all</PrivateAssets>
  </ProjectReference>
</ItemDefinitionGroup>
0
XAMT 19 अप्रैल 2020, 17:46