Çözüm dizininde bulunan bir derlemeye bir başvuru eklerken, onu göreceli olarak eklemenin herhangi bir yolu var mı, böylece bir havuza girip çıkarken projelerde doğru şekilde başvuruluyor mu?
Çözüm dizininde bulunan bir derlemeye bir başvuru eklerken, onu göreceli olarak eklemenin herhangi bir yolu var mı, böylece bir havuza girip çıkarken projelerde doğru şekilde başvuruluyor mu?
Yanıtlar:
Pavel Minaev'in orijinal yorumunu genişletmek gerekirse - Visual Studio için GUI, .sln dosyanızın göreceli referansın kökü olduğu varsayımıyla göreceli referansları destekler. Dolayısıyla, bir çözümünüz C:\myProj\myProj.sln
varsa, alt klasörlerine C:\myProj\
eklediğiniz referanslar otomatik olarak göreceli referanslar olarak eklenir.
Ayrı bir dizine göreli bir referans eklemek C:/myReferences/myDLL.dll
için aşağıdakileri yapın:
<HintPath> öğesini şuna eşit olacak şekilde düzenleyin:
<HintPath>..\..\myReferences\myDLL.dll</HintPath>
Bu şimdi referanslar C:\myReferences\myDLL.dll
.
Bu yardımcı olur umarım.
Evet, çözümünüzde lib / gibi bir dizin oluşturun ve ardından dll'nizi dosya sistemindeki o dizine ekleyin ve projeye ekleyin (Ekle-> Varolan Öğe-> vb.). Ardından projenize göre referansı ekleyin.
Bunu svn ve cvs altında birkaç kez yaptım.
VS 2017'de bu otomatiktir. Yani Add Reference
genelde olduğu gibi.
Belirtilmelidir ki, Reference Properties
mutlak bir yol gösterilmiştir, ancak .vbproj/.csproj
göreceli kullanılır.
<Reference Include="NETnetworkmanager">
<HintPath>..\..\libs\NETnetworkmanager.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
Muhtemelen, bunu başarmanın en kolay yolu, referansı montaja eklemek ve ardından (manuel olarak) ilgili Visual Studio proje dosyasındaki (.csproj uzantısı) referansın metin gösterimini göreceli hale gelecek şekilde yamalamaktır.
Bunu VS 2005'te birçok kez sorunsuz bir şekilde yaptım.
Burada kapalı olabilirim, ancak cevabın oldukça açık olduğu görülüyor: Proje özelliklerindeki referans yollarına bakın. Kurulumumuzda ortak depo klasörümüzü ref yolu GUI penceresine ekledim, şöyle ki
Bu şekilde dll'lerimi (yayınlanmaya hazır) bu klasöre kopyalayabilirim ve artık her geliştirici bu klasörden her derlendiğinde güncellenmiş DLL'yi alır.
Çözümde dll bulunursa, kurucu yerel sürüme yayınlanan ekip sürümüne göre öncelik vermelidir.
Daha önce belirtildiği gibi, projenizin .csproj
dosyasını manuel olarak uygulamak için manuel olarak düzenleyebilirsiniz.
Ayrıca Visual Studio 2013'ün, muhtemelen proje dosyasını daha taşınabilir hale getirme girişimi nedeniyle referans ipucu yoluna göreceli bir yol uygulamaya çalıştığını fark ettim.