2015-11-25 3 views
2

У меня есть одна библиотека классов, которая нацелена на net451 и dotnet5.4. Оба являются рекомендуемыми прозвищами для библиотек классов в ASP.NET vNext. Однако мои модульные тесты основаны на xUnit и поэтому должны быть нацелены на dnx451 и dnxcore50. Однако это приводит к тому, что мой тестовый проект не обнаруживает класс, который я хочу проверить. Он просто говорит, что не удается разрешить символтестовые библиотеки ASP.NET-5 не обнаруживают главный код

Есть ли способ обойти это, за исключением повторного таргетинга моей библиотеки классов к тем же прозвищами, как мой тестового проект (который был бы действительно глупо, ТБМ)

Вот проект .json из моего тестового проекта:

{ 
    "version": "1.0.0-*", 
    "description": "Test Class Library", 
    "authors": [ "Robert" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 
    "dependencies": { 
     "SemanticVersion": "1.0.0-*", 
     "xunit": "2.1.0", 
     "xunit.runner.dnx": "2.1.0-rc1-build204" 
    }, 
    "commands": { 
     "test": "xunit.runner.dnx" 
    }, 
    "frameworks": { 
     "dnx451": { }, 
     "dnxcore50": { 
      "dependencies": { 
       "Microsoft.CSharp": "4.0.1-beta-23516", 
       "System.Collections": "4.0.11-beta-23516", 
       "System.Linq": "4.0.1-beta-23516", 
       "System.Runtime": "4.0.21-beta-23516", 
       "System.Threading": "4.0.11-beta-23516" 
      } 
     } 
    } 
} 

Кроме того, здесь project.json из главной библиотеки:

{ 
    "version": "1.0.0-*", 
    "description": "SemanticVersion Class Library", 
    "authors": [ "Robert" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 
    "frameworks": { 
    "net451": { }, 
    "dotnet5.4": { 
     "dependencies": { 
     "Microsoft.CSharp": "4.0.1-beta-23516", 
     "System.Collections": "4.0.11-beta-23516", 
     "System.Linq": "4.0.1-beta-23516", 
     "System.Runtime": "4.0.21-beta-23516", 
     "System.Threading": "4.0.11-beta-23516" 
     } 
    } 
    } 
} 

Для дальнейшей отладки, вот код в вопросе:

namespace Semver 
{ 
    public class SemanticVersion 
    { 
     public int Major { get; set; } 

     public int Minor { get; set; } 

     public int Patch { get; set; } 

     public string Prerelease { get; set; } 

     public string Build { get; set; } 

     public static SemanticVersion Parse(string versionString, bool strict = false) 
     { 
      // Code here 
     } 
    } 
} 

namespace SemanticVersionTest 
{ 
    using Xunit; 
    using Semver; 

    public class ParseTests 
    { 
     [Fact] 
     public void ParseMajor() 
     { 
      SemanticVersion version = SemanticVersion.Parse("1"); 

      Assert.Equal(1, version.Major); 
      Assert.Equal(0, version.Minor); 
      Assert.Equal(0, version.Patch); 
     } 
    } 
} 
+0

Можете ли вы рассказать, как выглядит проект project.json вашего проекта? –

+0

Я добавил его к основному вопросу, я также добавил основной проект project.json file – Ruhrpottpatriot

+0

Я не могу воспроизвести проблему, которую вы видите ... Так что ссылка на пакет 'SemanticVersion' разрешена так, как ожидалось? ... –

ответ

0

Как описано в моем предыдущем комментарии я тоже с этим вопросом. В моем случае проблема была в ReSharper, поскольку проект все равно будет построен, и я все еще мог бы использовать F12 для навигации. Я заметил, в то время как обновление R #, я получил ошибку

CrossAppDomainPointer is NULL.

я был в состоянии решить эту проблему путем переустановки R # после запуска программы установки в качестве администратора. Надеюсь это поможет!