Skip to content

Commit 5013887

Browse files
authored
Merge pull request #1 from profan/master
allow it to work when NUGET_PACKAGES is set explicitly.
2 parents aff1989 + d11c386 commit 5013887

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

XenkoShaderExplorer/MainViewModel.cs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)