Я использую Azure Websites git deploy (через Kudu), и все прошло отлично, до сегодняшнего дня. Когда я делаю новый git push, и он пытается развернуть, я получаю это сообщение об ошибке во время моих тестов:FileNotFoundException для Microsoft.VisualStudio.QualityTools.UTFResources при развертывании на Azure-сайтах
Ошибка: System.IO.FileNotFoundException: Не удалось загрузить файл или сборку «Microsoft.VisualStudio.QualityTools. UTFResources, Version = 10.1.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a 'или одна из его зависимостей. Система не может найти указанный файл.
Я не добавлял и не удалял какие-либо библиотеки или другие ссылки из моего решения между последним успешным нажатием и когда я начал получать эти ошибки. Googling ничего не появляется. Этот файл находится в моем локальном GAC, но я не могу найти его ссылкой прямо в любом месте моего решения.
Redeploying old версия моего решения - версия, которая была развернута правильно ранее в тот же день - сбой с тем же сообщением об ошибке.
Если бы я не знал лучше, я бы подумал, что MS изменила что-то на своем конце и сломала куду.
Любые мысли об устранении неполадок, застенчивости открытия билета с помощью Azure?
EDIT - Подробнее:
Это неудовлетворительное во время выполнения модульных тестов. Вот соответствующая часть моей deploy.cmd:
:: 1. Build to the temporary path
IF /I "%IN_PLACE_DEPLOYMENT%" NEQ "1" (
%MSBUILD_PATH% "%DEPLOYMENT_SOURCE%\Payboard.Web\Payboard.Web.csproj" /nologo /verbosity:m /t:Build /t:pipelinePreDeployCopyAllFilesToOneFolder /p:_PackageTempDir="%DEPLOYMENT_TEMP%";AutoParameterizationWebConfigConnectionStrings=false;Configuration=Release /p:SolutionDir="%DEPLOYMENT_SOURCE%\.\\" %SCM_BUILD_ARGS%
) ELSE (
%MSBUILD_PATH% "%DEPLOYMENT_SOURCE%\Payboard.Web\Payboard.Web.csproj" /nologo /verbosity:m /t:Build /p:AutoParameterizationWebConfigConnectionStrings=false;Configuration=Release /p:SolutionDir="%DEPLOYMENT_SOURCE%\.\\" %SCM_BUILD_ARGS%
)
IF !ERRORLEVEL! NEQ 0 (
echo Build failed with ErrorLevel !0!
goto error
)
:: 2. Building test projects
rem echo Building test projects
"%MSBUILD_PATH%" "%DEPLOYMENT_SOURCE%\PayboardWeb.sln" /p:Configuration=NoDatabase;VisualStudioVersion=12.0 /verbosity:m /p:Platform="Any CPU"
IF !ERRORLEVEL! NEQ 0 (
echo Build failed with ErrorLevel !0!
goto error
)
:: 3. Running tests
echo Running tests
vstest.console.exe "%DEPLOYMENT_SOURCE%\Payboard.Common.Tests\bin\NoDatabase\Payboard.Common.Tests.dll"
IF !ERRORLEVEL! NEQ 0 goto error
vstest.console.exe "%DEPLOYMENT_SOURCE%\Payboard.Model.Tests\bin\NoDatabase\Payboard.Model.Tests.dll"
IF !ERRORLEVEL! NEQ 0 goto error
vstest.console.exe "%DEPLOYMENT_SOURCE%\Payboard.Services.Tests\bin\NoDatabase\Payboard.Services.Tests.dll"
IF !ERRORLEVEL! NEQ 0 goto error
vstest.console.exe "%DEPLOYMENT_SOURCE%\Payboard.Integrations.Tests\bin\NoDatabase\Payboard.Integrations.Tests.dll"
IF !ERRORLEVEL! NEQ 0 goto error
vstest.console.exe "%DEPLOYMENT_SOURCE%\Payboard.Web.Tests\bin\NoDatabase\Payboard.Web.Tests.dll"
IF !ERRORLEVEL! NEQ 0 goto error
Это неудачу во время первого вызова vstest.console.exe
, после того, как успешно работает целая куча модульных тестов, но до окончания. Вот пример файла журнала:
Passed ConditionalFormatting_ShouldHandleSimpleConditions
Passed ConditionalFormatting_ShouldHandleComplexNumericConditions
Passed ConditionalFormatting_ShouldHandleNullStrings
Passed ConditionalFormatting_ShouldHandleNullObjects
Error: Exception thrown executing tests in D:\home\site\repository\Payboard.Common.Tests\bin\NoDatabase\Payboard.Common.Tests.dll
Passed ShallowClone_ShouldCopyIntegers
Passed ShallowClone_ShouldCopyNullableIntegers
Error: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.VisualStudio.QualityTools.UTFResources, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
Passed ShallowClone_ShouldCopyStrings
File name: 'Microsoft.VisualStudio.QualityTools.UTFResources, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
Passed ShallowClone_ShouldNotCopyReferences
Passed ShallowClone_ShouldReturnNullIfSourceIsNull
Server stack trace:
Passed ShallowCopyTo_ShouldCopyIntegers
at Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionAttribute..ctor(Type exceptionType, String noExceptionMessage)
Passed ShallowCopyTo_ShouldCopyNullableIntegers
at Microsoft.VisualStudio.TestTools.UnitTesting.ExpectedExceptionAttribute..ctor(Type exceptionType)
Passed ShallowCopyTo_ShouldCopyStrings
at System.Reflection.CustomAttribute._CreateCaObject(RuntimeModule pModule, IRuntimeMethodInfo pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs)
Passed ShallowCopyTo_ShouldNotCopyReferences
at System.Reflection.CustomAttribute.CreateCaObject(RuntimeModule module, IRuntimeMethodInfo ctor, IntPtr& blob, IntPtr blobEnd, Int32& namedArgs)
Passed ShallowCopyTo_ShouldNotCopyExceptions
at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent)
Passed ShallowCopyTo_ShouldNotCopyExceptionExpressions
at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeMethodInfo method, RuntimeType caType, Boolean inherit)
Passed GetFriendlyTypeName_ShouldHandleSimpleTypes
at System.Reflection.RuntimeMethodInfo.GetCustomAttributes(Boolean inherit)
Passed GetFriendlyTypeName_ShouldHandleComplexTypes
at NUnit.Core.Reflect.GetAttributes(ICustomAttributeProvider member, Boolean inherit)
Passed GetFriendlyTypeName_ShouldHandleReallyComplexTypes
at NUnit.Core.Reflect.HasAttribute(ICustomAttributeProvider member, String attrName, Boolean inherit)
Passed MultiDateTimeConverter_ShouldSupportMultipleFormats
at NUnit.Core.Reflect.HasMethodWithAttribute(Type fixtureType, String attributeName, Boolean inherit)
Passed OrIfGreater_ShouldSelectGreaterValue
at NUnit.Core.Builders.NUnitTestFixtureBuilder.CanBuildFrom(Type type)
Passed OrIfGreater_ShouldSelectRealValue
at NUnit.Core.Extensibility.SuiteBuilderCollection.CanBuildFrom(Type type)
Passed OrIfLesser_ShouldSelectGreaterValue
at NUnit.Core.TestFixtureBuilder.CanBuildFrom(Type type)
Passed OrIfLesser_ShouldSelectRealValue
at NUnit.Core.Builders.TestAssemblyBuilder.GetFixtures(Assembly assembly, String ns)
Passed GetKey_ShouldSupportStrings
at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites)
Passed GetKey_ShouldSupportInts
at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites)
Passed GetKey_ShouldSupportDates
at NUnit.Core.TestSuiteBuilder.BuildSingleAssembly(TestPackage package)
Passed ForEachParallel_ShouldExecuteAllActions
at NUnit.Core.TestSuiteBuilder.Build(TestPackage package)
Passed ForEachParallel_ShouldExecuteWithMaxParallelization
at NUnit.Core.SimpleTestRunner.Load(TestPackage package)
Passed SelectParallel_ShouldSelectAllData
at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
Passed SelectParallel_ShouldSelectWithMaxParallelization
at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
Passed SortOfMatches_ShouldMatchSameUrls
at NUnit.Core.RemoteTestRunner.Load(TestPackage package)
Passed SortOfMatches_ShouldIgnoreQueryStrings
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
Passed SortOfMatches_ShouldIgnoreShortPrefixes
at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
Passed SortOfMatches_ShouldNotMatchOnPathMismatch
Passed SortOfMatches_ShouldNotMatchOnHostMismatch
Exception rethrown at [0]:
Passed MainDomain_ShouldRemoveWww
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
Passed MainDomain_ShouldRemoveApp
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
Passed MainDomain_ShouldNotRemoveExample
at NUnit.Core.TestRunner.Load(TestPackage package)
Passed MainDomain_ShouldNotRemoveMainDomain
at NUnit.Util.TestDomain.Load(TestPackage package)
Passed MainDomain_ShouldHandleCountryDomains
at NUnit.VisualStudio.TestAdapter.NUnitTestExecutor.RunAssembly(String assemblyName, ITestExecutionRecorder testLog, TestFilter filter, IRunContext runContext)
Total tests: 117. Passed: 116. Failed: 0. Skipped: 1.
Test execution time: 7.5134 Seconds
An error has occurred during web site deployment.
Test Run Failed.
Я хотел бы отметить, что если я закомментировать вызовы модульных тестов, я могу получить его развернуть. Поэтому я предполагаю, что вопрос в основном - что я могу сделать, чтобы снова запустить мои модульные тесты? Возможно ли, что недавнее обновление веб-сайтов Azure, поддерживавшее, помимо прочего, TypeScript 1.1, возможно, удалило Microsoft.VisualStudio.QualityTools.UTFResources.dll
из GAC? Или что-то вдоль этих линий?
Чтобы устранить неполадки, может ли это произойти и при развертывании на новом сайте? Кроме того, Kudu не запускает тесты по умолчанию.У вас есть собственный сценарий развертывания, который делает это? Можете ли вы дать немного больше информации о развертывании, так что покажите, на каком этапе это происходит? –
@DavidEbbo - Спасибо, что ответили. Я добавил несколько подробностей. –
Спасибо за дополнительную информацию. Могли ли вы попробовать с чистым сайтом, чтобы убедиться, что это не из-за чего-то, что попало в плохое состояние на этом сайте? В идеале, если вы можете поделиться публичным репо, которое демонстрирует неудачу, это поможет расследованию. Репозиции, которые мы используем, которые выполняют модульные тесты, по-прежнему работают с последними, поэтому должна быть какая-то разница. –