ক্লাব লাইব্রেরির জন্য নুগেট প্যাকেজে আপনি কীভাবে এক্সএমএল ডক্স অন্তর্ভুক্ত করবেন?


107

আমি একটি সি # শ্রেণির লাইব্রেরির জন্য একটি নিউগেট প্যাকেজ তৈরি করছি, এবং আমি গ্রন্থাগারের সাথে উত্পন্ন এক্সএমএল ডকুমেন্টেশন অন্তর্ভুক্ত করতে চাই। এটি আমার নসপেক ফাইল:

<?xml version="1.0" encoding="utf-8"?>
<package>
  <metadata>
    <id>MyLibrary</id>
    <version>1.0.0.0</version>
    <authors>John Nelson</authors>
    <language>en-US</language>
    <description>A C# class library</description>
  </metadata>
  <files>
    <file src="..\..\build\MyLibrary.dll" target="lib\Net40" />
    <file src="..\..\build\MyLibrary.xml" target="lib\Net40" />
  </files>
</package>

যখন আমি এই আদেশটি দিয়ে প্যাকেজটি তৈরি করব :

nuget pack MyLibrary.nuspec

এটি একটি ত্রুটি উত্পন্ন করে। যদি আমি লাইনটি সরিয়ে ফেলি:

<file src="..\..\build\MyLibrary.xml" target="lib\Net40" />

NuGet.exe সাফল্যের সাথে nupkg তৈরি করে। আমি এমনকি প্যাকেজটি আনজিপ করতে পারি এবং সামগ্রীগুলি সঠিক কিনা তা যাচাই করতে পারি। আমি কি ভুল করছি? এক্সএমএল ফাইলটি কি আলাদা লক্ষ্যবস্তু ডিরেক্টরিতে যাওয়া উচিত?


প্যাকেজটি তৈরি করতে আপনি কোন আদেশ ব্যবহার করেন?
কর্নেল আতঙ্ক

কমান্ড এবং ডক্সের লিঙ্ক সহ @ কলোনেলপ্যানিক আপডেট করেছেন।
জন নেলসন

ধন্যবাদ জন। আমি সরাসরি একটি সিএসপোজ প্যাকেজিং করছি nuget pack library.csproj(আমার কাছে কোনও নসপেক নেই) তবে ঠিক একই কাজ করে।
কর্নেল আতঙ্ক

উত্তর:


101

সমস্যাটি হ'ল আমি যে বিল্ড কনফিগারেশনটি ব্যবহার করছিলাম তার জন্য আমি "জেনারেট এক্সএমএল ডকুমেন্টেশন" চেক করিনি। যে nspec সঠিক।

এখানে চিত্র বর্ণনা লিখুন


6
জানা ভাল. আমি প্যাকেজ তৈরির জন্য জিইউআই ব্যবহার করার জন্য আমার হাতটি চেষ্টা করছিলাম এবং এটি আমার কাছে লিএমবি এর পরিবর্তে এক্সএমএল ফাইলটি সামগ্রী ফোল্ডারে স্থানান্তরিত করার চেষ্টা করছিল। ঠিক মনে হয়নি, তাই আমি দ্বিতীয় মতামত পেতে চেয়েছিলাম। আপনি এই পোস্টে খুশি। :-)
মাইক লক্স

14

। নেট কোর / স্ট্যান্ডার্ডে আপনি প্রকল্পের এক্সএমএল ফাইল সম্পাদনা করে এটি করতে পারেন, উদাহরণস্বরূপ:

<PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>

<PropertyGroup>
    <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
</PropertyGroup>

এটি আপনার আউটপুট অ্যাসেমব্লির পাশের একটি এক্সএমএল ফাইল হিসাবে ডকুমেন্টেশনকে আউটপুট দেবে।

সম্পাদনা: পার্শ্ব নোট হিসাবে একবার সক্ষম করার পরে GenerateDocumentationFileআপনি সম্পূর্ণ ডকুমেন্টেশন ট্যাগগুলি না যুক্ত করার জন্য আপনার পাবলিক পদ্ধতিতে প্রচুর সতর্কতা পাবেন। আপনি যদি এই সতর্কতাগুলি অক্ষম করতে চান তবে কেবল এতে যুক্ত করুন PropertyGroup:

<NoWarn>$(NoWarn);1591</NoWarn>

4
<GenerateDocumentationFile><DocumentationFile>ইতিমধ্যে ফলাফল প্রাপ্ত হয়েছে , সুতরাং আমি মনে করি উভয়ের মধ্যে একটিরই
সিএসআরপি

<DocumentationFile>নিজেকে সুনির্দিষ্ট করে তোলা আপনি যেখানেই চান ফাইল আউটপুট করতে দেয়। আপনি যদি এটি নির্দিষ্ট না করেন তবে আমি মনে করি এটি আক্ষরিকভাবে এটি আমার উপরে সরবরাহিত পথে রাখবে।
বাইটেডে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.