최근 솔루션을 Visual Studio 2013로 업그레이드하고 2.6에서 테스트 라이브러리의 NUnit 2.6.3에 대한 참조를 2.6으로 업데이트했습니다. .2. Visual Studio에서는 모든 것이 제대로 작동하지만 배포 시스템을 구동하는 MSBuild 스크립트는 완전히 손상되었습니다.업그레이드 후 MSBuild에서 NUnit 실행에 실패했습니다 - System.IO.FileLoadException : 파일 또는 어셈블리 nunit.framework을로드 할 수 없습니다.
빌드 파일은 참조되는 MSBuild.Community.Targets 파일과 nunit-console.exe 및 다양한 종속 파일을 포함하는 NUnit 디렉토리가있는 MSBuild 폴더가있는 빌드 디렉토리에 있습니다. 나는 이것을 2.6.3으로 업그레이드했다. 난 그냥이 오류가
...
'System.IO.FileLoadException : 파일 또는 어셈블리 로드 할 수 없습니다'nunit.framework, 버전 = 2.6.0.12051을, 문화 = 중립, PublicKeyToken = 96d09a1eb7f44a77 '또는 그 종속성 중 하나. 어셈블리의 매니페스트 정의에 일치하는 어셈블리 참조가 일치하지 않습니다. (HRESULT 예외 : 0x80131040) '
이 코드는 전 2.6.2를 참조하기 전에 정상적으로 작동했기 때문에 2.6.0이 어디에서 왔는지 또는 어떻게 알 수 있습니까 땅에서 나는 (오른쪽이있는!) 2.6.3을 찾아 그것을 말해 (이 어떤 도움이된다면)
가 여기 내 빌드 파일의 ... 'RunTests의
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="DeployAndPackage" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- IMPORTS -->
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildProjectDirectory)\MSBuild\MSBuild.Community.Tasks.targets" />
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"/>
<!-- PROPERTIES -->
<PropertyGroup Label="BuildOptions">
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">Any CPU</Platform>
<OutputPath Condition=" '$(OutputPath)' == '' ">bin\</OutputPath>
<ProjectConfiguration Condition=" '$(Configuration)' == '' ">Debug</ProjectConfiguration>
<ProjectConfiguration Condition=" '$(Configuration)' == 'Test' ">Debug</ProjectConfiguration>
<ProjectConfiguration Condition=" '$(Configuration)' == 'Staging' ">Release</ProjectConfiguration>
<ProjectConfiguration Condition=" '$(Configuration)' == 'Live' ">Release</ProjectConfiguration>
</PropertyGroup>
<PropertyGroup Label="DirectoryPaths">
<RootDir>$(MSBuildProjectDirectory)\..\</RootDir>
<TestsDir>$(RootDir)Tests\</TestsDir>
<DatabaseDir>$(RootDir)SiansPlan.Database\</DatabaseDir>
<RelativePackageDir>$(RootDir)pkg\</RelativePackageDir>
<Solution>$(RootDir)SiansPlan.sln</Solution>
<SP_Auth>$(RootDir)SiansPlan.Authentication\SiansPlan.Authentication.csproj</SP_Auth>
<SP_Database>$(DatabaseDir)SiansPlan.Database.sqlproj</SP_Database>
<SP_Entities>$(RootDir)SiansPlan.Entities\SiansPlan.Entities.csproj</SP_Entities>
<SP_Domain>$(RootDir)SiansPlan.Domain\SiansPlan.Domain.csproj</SP_Domain>
<SP_Providers>$(RootDir)SiansPlan.Providers\SiansPlan.Providers.csproj</SP_Providers>
<SP_ApiDir>$(RootDir)SiansPlan.Api\</SP_ApiDir>
<SP_Api>$(SP_ApiDir)SiansPlan.Api.csproj</SP_Api>
<SP_Web>$(RootDir)SiansPlan.Web\SiansPlan.Web.csproj</SP_Web>
<SP_SpaDir>$(RootDir)SiansPlan.Spa\</SP_SpaDir>
<SP_Spa>$(SP_SpaDir)SiansPlan.Spa.csproj</SP_Spa>
<SP_Test_Support>$(TestsDir)SiansPlan.TestSupport\SiansPlan.TestSupport.csproj</SP_Test_Support>
<SP_Entities_Tests>$(TestsDir)SiansPlan.Entities.Tests\SiansPlan.Entities.Tests.csproj</SP_Entities_Tests>
<SP_Auth_Tests>$(TestsDir)SiansPlan.Authentication.Tests\SiansPlan.Authentication.Tests.csproj</SP_Auth_Tests>
<SP_Domain_Tests>$(TestsDir)SiansPlan.Domain.Tests\SiansPlan.Domain.Tests.csproj</SP_Domain_Tests>
<SP_Api_Tests>$(TestsDir)SiansPlan.Api.Tests\SiansPlan.Api.Tests.csproj</SP_Api_Tests>
</PropertyGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>2ae13924-f2dd-48b1-9acb-755e0ee2b0d1</ProjectGuid>
</PropertyGroup>
<!-- BUILD -->
<Target Name="Compile">
<MSBuild Projects="$(SP_Auth)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Database)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Entities)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Domain)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Providers)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Api)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Web)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Spa)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Test_Support)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Entities_Tests)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Auth_Tests)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Domain_Tests)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
<MSBuild Projects="$(SP_Api_Tests)" Targets="Rebuild" Properties="Configuration=$(ProjectConfiguration);Platform=$(Platform);OutputPath=bin\" />
</Target>
<!-- TEST -->
<Target Name="RunTests" DependsOnTargets="Compile">
<CreateItem Include="$(RootDir)Tests\*.Tests\bin\*.Tests.dll">
<Output TaskParameter="Include" ItemName="TestAssemblies" />
</CreateItem>
<NUnit Assemblies="@(TestAssemblies)" ToolPath="$(MSBuildProjectDirectory)\NUnit" DisableShadowCopy="true" />
</Target>
<!-- TRANSFORM -->
<Target Name="Transform">
<TransformXml Source="$(SP_ApiDir)\Web.config"
Transform="$(SP_ApiDir)\Web.$(Configuration).config"
Destination="$(SP_ApiDir)\Web.transformed.config"
StackTrace="False" />
<TransformXml Source="$(SP_SpaDir)\Web.config"
Transform="$(SP_SpaDir)\Web.$(Configuration).config"
Destination="$(SP_SpaDir)\Web.transformed.config"
StackTrace="False" />
</Target>
<!-- DEPLOY & PACKAGE -->
<Target Name="DeployAndPackage" DependsOnTargets="RunTests">
<CallTarget Targets="Transform"/>
<ItemGroup>
<SqlFiles Include="$(DatabaseDir)Upgrades\*.sql" />
</ItemGroup>
<RemoveDir Directories="$(RelativePackageDir)" />
<MakeDir Directories="$(RelativePackageDir)" />
<MakeDir Directories="$(RelativePackageDir)sql\" />
<Copy SourceFiles="@(SqlFiles)" DestinationFolder="$(RootDir)pkg\sql" />
</Target>
</Project>
전체 출력을 '빌드의 일부는 ...
RunTests :
C : \ 개발 \ 클라이언트 \ SiansPlan 소스 \ 빌드 \ \ NUnit과 \ NUNIT - Console.exe를 /NOLOGO/noshadow C : \ 개발 \ 클라이언트 \ SiansPlan 소스 \ 빌드 \ .. \ 테스트 \ SiansPlan.Api.Tests \ bin \ SiansPlan.Api.Tests.dll C : \ Development \ Clients \ SiansPlan \ source \ build .. \ Tests \ SiansPlan.Api.Tests \ bin \ SiansPlan.Domain.Tests.dll C : \ Development \ Clients \ SiansPlan \ source \ build .. \ Tests \ SiansPlan.Authentication.Tests \ bin \ SiansPlan.Authentication.Tests.dll C : SiansPlan.Domain.Tests \ bin \ SiansPlan.Domain.Tests.dll C : \ Development \ Clients \ SiansPlan \ source \ build .. \ Tests \ SiansPlan.Entities.Tests \ bin \ SiansPlan.Entities.Test C : \ Development \ Clients \ SiansPlan \ source \ build. \ Tests \ SiansPlan.Logging.Tests \ bin \ SiansPlan.Domain.Tests.dll C : \ Development \ Clients \ SiansPlan \ source \ build. .net-4.5 처리되지 않은 예외 : System.IO.FileLoadException : 로드 할 수없는 파일 또는 어셈블리 ' nunit.framework, 버전 = 2.6.0.12051, 문화 = 중립, PublicKeyToken = 96d09a1eb7f44a77 '또는 종속성 중 하나입니다. 위치한 어셈블리의 매니페스트 정의가 과 일치하지 않습니다. (HRESULT에서 예외 : 0x80131040)
파일 이름 : 'nunit.framework, 버전 = 2.6.0.12051, 문화 = 중립, PublicKeyToken = 96d09a1eb7f44a77'
어떤 아이디어가 내가 머리에있어 대부분의 환영받을 것 책상 무대에 두드리는 소리. 나는 내 책상에 곰, 내 고무 오리와 Soundwave를 요청했고 그들 중 누구도 솔직히 많은 것을 사용하지 못했습니다!
난 그냥 직접 명령 프롬프트에서 명령을 실행하도록 시도하고 내 빌드 디렉토리에 NUNIT - Console.exe를 인스턴스를 사용하거나 컴퓨터에 로컬로 설치 여부를 나는 같은 문제를 얻을 수 그들은 둘 다 nunit 2.6.0을 찾지 못하고 넘어진다. –