मैंने इसी तरह के मुद्दे का अनुभव किया, लेकिन साथ v4.7.2
। अर्थात्, मैं इस तरह लॉग संदेश बना रहा है:
error : Your project does not reference ".NETFramework,Version=v4.7.2" framework. Add a reference to ".NETFramework,Version=v4.7.2" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
इस तथ्य के बावजूद कि यह समान दिखता था, उपरोक्त प्रस्तावित चरणों में से किसी ने भी मेरे लिए काम नहीं किया। मैं प्रत्येक निर्माण के बाद यह संदेश देखता रहा। कुछ भी मदद करने में सक्षम नहीं लग रहा था।
वास्तव में, समस्या इसी से संबंधित थी, क्योंकि प्रवासन के कारण, मुझे कोड के एक फ़ोल्डर में दो परियोजनाएं डालनी थीं । उनमें से एक को .Net कोर पर , एक अन्य .Net फ्रेमवर्क पर , दोनों को एक ही .Net मानक पुस्तकालयों के संदर्भ में लक्षित किया गया था । जाहिरा तौर पर, वे उसी obj
फ़ोल्डर को साझा करते हैं जहां कोर परियोजनाएं project.assets.json
फ़ाइल डालती हैं। दरअसल, यह फाइल फ्रेमवर्क प्रोजेक्ट के साथ इसके सामान्य निर्माण को रोकती है। यहां तक कि अगर आप package.config से PackageReference के लिए माइग्रेट प्रदर्शन किया है ... जो संभव समाधान में से एक के रूप में सिफारिश की गई थी।
आप अपने फ्रेमवर्क प्रोजेक्ट फ़ाइल में निम्नलिखित स्निपेट डालकर समस्या को ठीक करने का प्रयास कर सकते हैं:
<Project>
...
<PropertyGroup>
<BaseOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/bin</BaseOutputPath>
<BaseIntermediateOutputPath>$(MSBuildProjectDirectory)/out/$(MSBuildProjectName)/obj</BaseIntermediateOutputPath>
</PropertyGroup>
...
</Project>
इसने तुरंत मेरे लिए काम किया, यह केवल बाद में था जब मैंने ध्यान से पढ़ा कि हमें इसकी आवश्यकता क्यों है और यह काम क्यों करता है। मैं अप्रत्याशित रूप में यह पाया भाग 2 का नेट कोर 3 की ओर पलायन एक नमूना WPF अनुप्रयोग के तहत .नेट फ्रेमवर्क परियोजना अभी भी बनाता है यकीन है कि बनाना अनुभाग। BaseOutputPath
और BaseIntermediateOutputPath
msbuild चर वहाँ पाया जा सकता है, यकीन है कि अगर वे कहीं भी अच्छी तरह से प्रलेखित नहीं हैं।