फिर भी एक और जवाब ...
मेरे मामले में मेरे पास एक दृश्य स्टूडियो 2017 परियोजना है जो दोनों .Net मानक 1.3 और .Net फ्रेमवर्क 2.0 को लक्षित कर रही है। यह इस तरह .csproj फ़ाइल में निर्दिष्ट किया गया था:
<TargetFrameworks>netstandard1.3;net20</TargetFrameworks>
मेरे पास इस तरह की पोस्ट-बिल्ड इवेंट कमांड लाइन भी थी:
copy "E:\Yacks\YacksCore\YacksCore\bin\net20\Merlinia.YacksCore.dll" "E:\Merlinia\Trunk-Debug\Shared Bin\"
दूसरे शब्दों में, मैं .Net फ्रेमवर्क की प्रतिलिपि बनाने की कोशिश कर रहा था। निर्माण के लिए वैकल्पिक स्थान पर निर्मित।
इस त्रुटि के साथ विफल हो रहा था जब मैंने एक पुनर्निर्माण किया:
MSB3073 The command "copy "E:\Yacks\YacksCore\YacksCore\bin\net20\Merlinia.YacksCore.dll" "E:\Merlinia\Trunk-Debug\Shared Bin\"" exited with code 1.
बहुत हताशा के बाद मैंने अंत में यह निर्धारित किया कि क्या हो रहा था कि पुनर्निर्माण ने सभी आउटपुट फ़ाइलों को हटा दिया, फिर बिल्ड .Net मानक 1.3 किया, फिर पोस्ट-बिल्ड इवेंट कमांड लाइन को चलाने की कोशिश की, जो विफल हो गई क्योंकि फ़ाइल को कॉपी किया जाना था अभी तक नहीं बनाया गया था।
इसलिए समाधान था कि भवन निर्माण के क्रम में बदलाव किया जाए, यानी .Net फ्रेमवर्क 2.0 के लिए निर्माण किया जाए, फिर .Net मानक 1.3 के लिए।
<TargetFrameworks>net20;netstandard1.3</TargetFrameworks>
यह अब मामूली गड़बड़ के साथ काम करता है कि पोस्ट-बिल्ड इवेंट कमांड लाइन को दो बार चलाया जा रहा है, इसलिए फ़ाइल को दो बार कॉपी किया जाता है।