public TestAssemblyResolver(string targetPath, string projectPath)
{
directories = new List<string>();
if (projectPath != null)
{
var versionReader = new VersionReader(projectPath);
if (string.IsNullOrEmpty(versionReader.TargetFrameworkProfile))
{
if (versionReader.FrameworkVersionAsNumber == new Version(3, 5))
{
directories.Add($@"{GetProgramFilesPath()}\Reference Assemblies\Microsoft\Framework\v3.5\");
directories.Add($@"{GetProgramFilesPath()}\Reference Assemblies\Microsoft\Framework\v3.0\");
directories.Add(Environment.ExpandEnvironmentVariables(@"%WINDIR%\Microsoft.NET\Framework\v2.0.50727\"));
}
else
{
directories.Add($@"{GetProgramFilesPath()}\Reference Assemblies\Microsoft\Framework\.NETFramework\{versionReader.FrameworkVersionAsString}\");
}
}
else
{
directories.Add($@"{GetProgramFilesPath()}\Reference Assemblies\Microsoft\Framework\.NETFramework\{versionReader.FrameworkVersionAsString}\Profile\{versionReader.TargetFrameworkProfile}");
}
if (versionReader.IsFSharp)
{
//C:\Program Files (x86)\Reference Assemblies\Microsoft\FSharp\.NETFramework\v4.0\4.3.0.0\FSharp.Core.dll
var path = $@"{GetProgramFilesPath()}\Reference Assemblies\Microsoft\FSharp\.NETFramework\{versionReader.FrameworkVersionAsString}\{versionReader.TargetFSharpCoreVersion}\";
directories.Add(path);
}
}
directories.Add(Path.GetDirectoryName(targetPath));
GetGacPaths();
}