لا يقوم MSBuild بنسخ ملف DLL، بينما يقوم Visual Studio بذلك
-
10-12-2019 - |
سؤال
في مشروعنا Visual Studio 2010، نشير - من بين مشاريع أخرى - إلى SmartAssembly.Attributes.dll
ويتم نسخه بشكل صحيح إلى Bin/Debug
أو Bin/Release
مجلد آلات التطوير المحلية لدينا.ينطبق هذا على كافة المراجع الأخرى على خادم الإنشاء، ولكن ليس على "SmartAssembly.Attributes.dll".ينجح البناء.
ماذا يجب أن أتحقق؟
شكرًا.
المحلول
افتح .csproj
ملف (أو .vbproj
file) وابحث عن مرجع التجميع.ثم تأكد من أن مسار التلميح لا يزال صالحًا في خادم البناء الخاص بك.في بعض الأحيان، يضيف VS2010 مسار تلميح مطلق، بدلاً من استخدام مسار متعلق بـ .csproj
الملف نفسه، لذلك قد يكون حرف محرك الأقراص غير صالح في جهاز آخر.
على سبيل المثال، قد يبدو المرجع مشابهًا للمرجع الموجود أدناه (لقد قمت بإعداد ملف XML بالكامل أدناه للتوضيح فقط وهو غير صالح)، وقد يكون مسار التلميح المطلق غير صالح في خادم الإنشاء (على سبيل المثال.لا يوجد حرف محرك الأقراص د هناك):
<Reference
Include="SmartAssembly.Attributes, Version=8.0.0.0,
Culture=neutral, PublicKeyToken=b03f1f7f1ad5da3a,
processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<Private>true<Private>
<!-- The HintPath below should exist and be valid in your build server -->
<HintPath>d:\temp\SmartAssembly.Attributes.dll<HintPath>
</Reference>
يمكنك تغيير HintPath لجعله مرتبطًا بـ .csproj
الملف وبالتالي أكثر عمومية.على سبيل المثال:
<HintPath>..\libs\SmartAssembly.Attributes.dll<HintPath>
مشكلة أخرى قد تكون ذلك <Private>true<Private>
ليس هناك.تم تعيين هذه السمة إلى CopyLocal
الخاصية في Visual Studio، لذلك إذا كانت مفقودة من ملفك .csproj
, ، لن يتم نسخ ملف DLL إليه bin\Debug
أو bin\Release
بواسطة MSBuild.يرى http://bronumski.blogspot.com/2009/06/project-reference-fun-and-games.html