Выполнение кротов 0,94 для исключения некоторых типов в сборках сторонних производителей, которые в противном случае было бы трудно проверить. Прекрасно работает локально, тесты пройдены, и решение отлично компилируется. Первый раз, когда он компилируется, это занимает довольно много времени, потому что он генерирует сборки родинок (помещает их в подпапку, называемую \ molesassemblies), но в последующие времена это происходит намного быстрее - moles выдает следующее:
Moles : info : compilation : assembly metadata hash unchanged, skipping code generation
Вопрос в том, как мне подражать этому поведению на сервере сборки, который каждый раз повторно синхронизирует (разрушает) рабочее пространство? Это вообще возможно? (В настоящее время используется TFS 2010 в качестве сервера сборки).
Я наивно пытался проверить содержимое подпапки проекта под названием \ molesassemblies \, надеясь, что когда msbuild вызовет инфраструктуру moles во время компиляции решения, он узнает, что сборки уже есть, и тем самым пропустит генерацию кода. Тем не менее, просто делать это, похоже, не работает. Фреймворк, казалось, думал, что ему нужно восстановить код, а затем пожаловался, что проверенные сборки доступны только для чтения:
00:00:00.00> moles
Moles : info : metadata : ignoring reference D:\Builds\49\mycompany\BUILD-NAME\Sources\Products\Product\Tests\TestHelpers\MolesAssemblies\3rdparty.assembly.moles.dll
Moles : info : metadata : loading D:\Builds\49\mycompany\BUILD-NAME\Sources\3rdPartyBinaries\3rdparty\3rdparty.assembly.dll
Moles : info : compilation : output assembly name: 3rdparty.assembly.moles
Moles : info : code : found 2912 types
Moles : info : code : visibility: exported or assembly(3rdparty.assembly.moles)
00:00:03.10> code generation
Moles : info : code : generating code at D:\Builds\49\mycompany\BUILD-NAME\Sources\Products\Product\Tests\TestHelpers\obj\Release\Moles\sk\m.g.cs
00:00:03.44> stubs generation
Moles : info : code : generated 2274 stub types
00:00:08.32> moles generation
Moles : info : code : generated 2638 mole types
00:00:45.13> compiling
Moles : error : compilation : D:\Builds\49\mycompany\BUILD-NAME\Sources\Products\Product\Tests\TestHelpers\MolesAssemblies\3rdparty.assembly.moles.dll readonly [D:\Builds\49\mycompany\BUILD-NAME\Sources\Products\Product\Tests\TestHelpers\TestHelpers.csproj]
00:02:27.44> moles generator 1 errors, 0 warnings
C:\Program Files\Microsoft Moles\bin\Microsoft.Moles.targets(79,5): error MSB3073: The command ""C:\Program Files\Microsoft Moles\bin\moles.exe" @D:\Builds\49\mycompany\BUILD-NAME\Sources\Products\Product\Tests\TestHelpers\obj\Release\Moles\moles.args" exited with code -1009. [D:\Builds\49\mycompany\BUILD-NAME\Sources\Products\Product\Tests\TestHelpers\TestHelpers.csproj]
Result: error while copying output (-1009 - 0xfffffc0f)
MolesAssemblies:
3rdparty.assembly.moles ignored because already referenced from other location
Done Building Project "D:\Builds\49\mycompany\BUILD-NAME\Sources\Products\Product\Tests\TestHelpers\TestHelpers.csproj" (default targets) -- FAILED.
Буду признателен за любые указания относительно того, что я могу сделать, чтобы получить эту работу.
Спасибо.