@@ -18,6 +18,7 @@ public enum XenkoSourceDirMode
1818 public class MainViewModel : ViewModelBase
1919 {
2020 private const string XenkoEnvironmentVariable = "XenkoDir" ;
21+ private const string NugetEnvironmentVariable = "NUGET_PACKAGES" ;
2122 private const string FallbackBasePath = @"C:\Program Files\Silicon Studio\Xenko\" ;
2223
2324 private string _filterText ;
@@ -44,6 +45,20 @@ public string FilterText
4445 }
4546 }
4647
48+ private string ResolveNugetPackageDir ( )
49+ {
50+ var nugetPackageDir = Environment . GetEnvironmentVariable ( NugetEnvironmentVariable ) ;
51+ if ( nugetPackageDir != null )
52+ {
53+ return nugetPackageDir ;
54+ }
55+ else
56+ {
57+ var userDir = Environment . GetFolderPath ( Environment . SpecialFolder . UserProfile ) ;
58+ return Path . Combine ( userDir , ".nuget" , "packages" ) ;
59+ }
60+ }
61+
4762 internal void Refresh ( )
4863 {
4964 try
@@ -52,8 +67,7 @@ internal void Refresh()
5267 switch ( XenkoDirMode )
5368 {
5469 case XenkoSourceDirMode . Official :
55- var userDir = Environment . GetFolderPath ( Environment . SpecialFolder . UserProfile ) ;
56- var nugetPackageDir = Path . Combine ( userDir , ".nuget" , "packages" ) ;
70+ var nugetPackageDir = ResolveNugetPackageDir ( ) ;
5771 var directories = Directory . GetDirectories ( nugetPackageDir ) //package dir
5872 . Where ( dir => Path . GetFileName ( dir ) . StartsWith ( "xenko" , StringComparison . OrdinalIgnoreCase ) ) //xenko folders
5973 . Select ( dir => Directory . GetDirectories ( dir ) . OrderBy ( subdir => subdir , StringComparer . OrdinalIgnoreCase ) . LastOrDefault ( ) ) //latest version
0 commit comments