SORU
15 Temmuz 2009, ÇARŞAMBA


'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

  1. MyBaseProject<- bu sınıf kitaplığı başvurular 3. parti dll (elmah.dll)
  2. 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
21 EKİM 2011, Cuma


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • David Wills

    David Wills

    31 Aralık 2007
  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011
  • WePlayWeWatch

    WePlayWeWatc

    3 Temmuz 2013