11

Bir kullanıcı makrosu/ortam değişkeni kullanarak çözümde proje dosya yolunu tanımlamanın bir yolu var mı? Bunu yapamıyorum.Çözümdeki Proje Yollarının Makro/Ortam Değişkeni ile Tanımlanması

Bir C++ projesindeki ek dizinleri tanımlamak için bir ortam değişkeni gibi bir şey kullanılır, bunun dışında bir çözümdeki bir proje dosyasının konumu için aynısını yapmak istiyorum.

% MyMacroName% veya $ (MyMacroName) ile başlayacak yolu değiştirmek için çözümü bir metin düzenleyicide düzenlemeyi denedim, ancak bunların hiçbiri tam olarak ayrıştırılmıyor gibi görünüyor. Çözüm açıldığında proje dosyaları bulunamıyor. MSBuild Eğer ortam değişkenleri için kullandığınız verir

+2

gibi işletim sistemi için tanımlanan özel ortam değişkenidir. Ortam değişkeni ayarlandıktan sonra Visual Studio'yu yeniden başlattınız mı? –

+0

Çözümü kapattım ve tekrar açtım. Bunu çoğunlukla bir özellik sayfasında kullanıcı makrosu olarak yapmaya çalışıyorum, ancak bir ortam değişkeni olması gerekiyorsa, sorun değil. –

cevap

14

"% ENV_VAR% rest_of_the_path \ test.csproj"

.Csproj dosya kullanımı sözdiziminde "$ (ENV_VAR) rest_of_the_path \ test.dll"

benim için çalışıyor

, ENV_VAR, ENV_VAR = "C: \ MyPath \"

+0

Bir kullanıcı makrosu üzerinde bir ortam değişkeni kullanmak üzere yerleşti, böylece sözdizimi çalışırdı. –

+0

Bu, doğrudan çözüm klasörlerinde bulunan dosyalarda işe yaramaz gibi görünmüyor. –

+0

Değişkenleri .sln dosyasına tanıtmanın MSBuild ile kullanılamayacağı anlamına gelir. Bkz. Https://connect.microsoft.com/VisualStudio/feedback/details/690318/msbuild-doesnt-parse-environment-variables-in-sln-files – cowlinator

1

, Yani onlardan faydalanmak için vCxproj dosyaları istediğiniz gibi çevre değişkenleri tanımlamak ve sonra değiştirmek mümkün olmalıdır

http://msdn.microsoft.com/en-US/library/ms171459(v=VS.80).aspx

.

Sln dosyaları MSBuild komut dosyaları olmadığından bu ipucun sln dosyaları için çalışıp çalışmadığından emin değilim. .Sln dosya kullanımı sözdiziminde