't kopya başvuruları (DLL) eğer çözüm proje bağımlılıkları kullanarak Msbuild değil
bu yana birçok benzer sorulara bir göz attım ama hiçbiri benim için sorun soruyu yanıtladı. Bir çözüm bularak bunu çözmek için uğraştım bütün gün (google vb.):
VS ... çözüm (herkes hedef .4 projeleri var net 3.5) - benim sorunum sadece bu iki önemli
- MyBaseProject<- bu sınıf kitaplığı başvurular 3. parti dll (elmah.dll)
- MyWebProject1<- bu web uygulaması proje MyBaseProject için bir başvuru var
İçin elmah.dll başvuru eklediMyBaseProjectVisual studio 2008 tıklayarak "Add reference..." ->"Gözat" sekmesi ->"". elmah.dll seçme
Elmah Başvuru Özellikleri aşağıdaki gibidir:
- Takma - küresel
- Yerel kopyala - doğru
- Kültür
- Açıklama ASP.NET Hata Modülleri ve İşleyicileri (ELMAH) Günlüğü
- Dosya Türü Derleme
- Yol - D:\webs\otherfolder\_myPath\__tools\elmah\Elmah.dll
- Çözüldü - Doğru
- Çalışma zamanı sürümü - v2.0.50727
- Belirtilen sürümü yanlış
- Güçlü bir İsim yanlış
- Sürüm - 1.0.11211.0
MyWebProject1tarafından MyBaseProject Proje başvurusu ekledi: "Add reference..." ->"Projeler" sekmesini ->"". MyBaseProject seçimi Bu başvuru Özelliklerini aşağıdaki üyeleri dışında aynıdır:
- Açıklama
- Yol - D:\webs\CMS\MyBaseProject\bin\Debug\MyBaseProject.dll
- Sürüm 1.0.0.0
Eğer kaçarsam yapıvisual studiobu elmah.dll benim kopyalanırMyWebProject1 bindizin ile birlikte MyBaseProject.dll!
Ben temiz ve çalıştırın ancakmsbuildçözüm ()^ d:\webs\cms . C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe /t: /p Yeniden Yapılandırma=MyProject hata Ayıklama.sln) elmah.dll eksikeğer herhangi bir uyarı veya hatalar içeriyor olsa da kendisi inşa MyWebProject1 bin dizini içinde!
Ben zaten emin yaptı .MyBaseProject bu csproj içerirözeldeğer öğesi "" (bunun için bir takma ad olmalıdır " . doğru ^strong>yerel kopya" VS):
<Reference Include="Elmah, Version=1.0.11211.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\mypath\__tools\elmah\Elmah.dll</HintPath>
**<Private>true</Private>**
</Reference>
(Özel etiketi içinde görünmedi .csproj VS "copy local" doğru. " dedi, ancak varsayılan olarak, xml, ... ... "Copy local" yanlış ve doğru yeniden ayarla - Kaydet!) kurtardı değiştirdim
MSBUİLD ile yanlış nedir? (Nasıl elmah.dll referans MyWebProject1 bin kopyalanan almak için?
Her proje postbuild komuta postbuild kopya eylemi eklemek istemiyorum! (Birçok proje MyBaseProject bağlı olurdu bir düşünün!)
CEVAP
Böyle bir durum ile başa çıkmak. Referans özelliklerine gidin ve bunu yapmak için:
Set "Copy local = false"
Save
Set "Copy local = true"
Save
ve işte bu kadar.
Visual Studio 2010 başlangıçta koymuyor:
Başvuru <private>True</private>
etiket ve ayarı "copy local" etiketi oluşturmak için neden yanlış. Daha sonra doğru ve yanlış olarak buna göre ayarlar.
Nasıl bağımlılıkları Maven kullanarak ...
Bir proje Gıt itme kullanarak dağıtmak...
Eğer bir giriş varsa test etmek için k...
Eğer giriş boş olup olmadığını kontrol...
Değil't eğer bir klasör zaten var...