2014-05-22 11 views
16

के अंदर DLL के लिए प्रोजेक्ट के संदर्भ को जोड़ने में विफल रहता है। मैं एक .NET DLL को पैकेज करने का प्रयास कर रहा हूं जो C++ DLL का संदर्भ देता है। nuspec फ़ाइल इस तरह दिखता है:NuGet पैकेज lib निर्देशिका

<?xml version="1.0"?> 
<package > 
    <metadata> 
    <id>MyPackage</id> 
    <version>1.0.0</version> 
    <authors>some author</authors> 
    <owners>some owner</owners> 
    <requireLicenseAcceptance>false</requireLicenseAcceptance> 
    <description>.NET Wrapper for rebuilt 64-bit version of MyPackage</description> 
    <copyright>Copyright 2014</copyright> 
    </metadata> 
    <files> 
    <file src="x64\MyPackage64.dll" target="content" /> 
    <file src="MyPackageNET.dll" target="lib" /> 
    </files> 
</package> 

जब मैं उत्पन्न nupkg फ़ाइल का परीक्षण, आतंरिक फ़ाइल संरचना सही प्रतीत होता है। सी ++ डीएलएल content में है और .NET DLL lib में है।

जब मैं किसी प्रोजेक्ट में nupkg स्थापित करता हूं, तो सामग्री DLL को सामग्री रूट में जोड़ा जाता है और lib DLL समाधान packages निर्देशिका में जोड़ा जाता है।

हालांकि, कोई संदर्भ प्रोजेक्ट में जोड़ा गया है। मुझे मैन्युअल रूप से संदर्भ जोड़ने के लिए मजबूर किया गया है। मैंने मेटाडाटा में निम्न नोड जोड़ने का प्रयास किया है, इसका कोई फायदा नहीं हुआ:

<references> 
    <reference file="MyPackageNET.dll" /> 
</references> 

क्या मैं कुछ गलत कर रहा हूं? मैंने अन्य nuspec & vupius .csproj फ़ाइलों से nupkg फ़ाइलों को उत्पन्न किया है, जो उन परियोजनाओं के संदर्भों को ठीक से जोड़ते हैं जिनमें वे स्थापित किए गए हैं। क्या व्यक्तिगत डीएलएल की पैकेजिंग के बारे में कुछ है जो मुझे याद आया है जो परियोजना में शामिल होने से संदर्भ रख रहा है?

संबंधित नोट पर, यदि मैं संदर्भ को स्वचालित रूप से नहीं जोड़ सकता, तो क्या कोई मुझे किसी भी संसाधन के लिए निर्देशित कर सकता है जो $ प्रोजेक्ट के सिंटैक्स को समझाएगा। ऑब्जेक्ट। संदर्भ। विधि जोड़ें, या जो मुझे प्रोग्रामेटिक रूप से संदर्भ जोड़ने में मदद करेगा डीएलएल को मेरी परियोजना में?

+0

आप मेटाडेटा में संदर्भ भाग जोड़ने के बारे में सही हैं, यह वहां होना चाहिए। – nikolaia

+0

मुझे एक ही समस्या थी। मैंने अपडेट-पैकेज -इंस्टॉल "पैकेजनाम" -प्रोजेक्टनाम "प्रोजेक्टनाम" चलाया, और इसमें संदर्भ जोड़े गए। कोई विचार नहीं कि यह प्रारंभिक इंस्टॉल पर क्यों काम नहीं करता था। – Triynko

उत्तर

1

मुझे पैकेज को अनइंस्टॉल करने में सक्षम नहीं होने के अतिरिक्त लक्षणों के साथ एक ही समस्या का अनुभव हुआ। मैंने Can't uninstall/reinstall NuGet package और से मार्गदर्शन का पालन किया प्रोजेक्ट में packages.config फ़ाइल को जोड़ा। मुझे फ़ाइल को मेरे समाधान फ़ोल्डर से कॉपी करना पड़ा क्योंकि मेरे प्रोजेक्ट में अभी तक फ़ाइल नहीं है। यह दोनों लक्षणों को सही किया।

संबंधित मुद्दे