2013-07-01 2 views
1

У меня есть облачная служба Azure с веб-ролью и работником.SlowCheetah работает в VS, но не из командной строки

У меня возникла проблема с рабочей ролью при создании пакета из командной строки. Мой рабочий - это простая библиотека классов с App.Config, а трансформация производится с помощью SlowCheetah 2.5.5.

Если я правой кнопкой мыши на моем Azure Cloud Service и упаковываем все в порядке, то app.config в конце концов будет один нанят SlowCheetah, как вы можете увидеть ниже

22>Target "CopyWorkerRoleFiles" in file "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Windows Azure Tools\2.0\Microsoft.WindowsAzure.targets" from project "C:\dev\My\WindowsAzure\WindowsAzure.ccproj" (target "CopyRoleFiles" depends on it): 
22> WorkerFiles=C:\dev\My\MyWorker\bin\QA\MyWorker.dll.config -> MyWorker.dll.config 
22> WorkerFiles=C:\dev\My\MyWorker\obj\QA\MyWorker.dll -> MyWorker.dll 
22> WorkerFiles=C:\dev\My\MyWorker\obj\QA\MyWorker.pdb -> MyWorker.pdb 
22> WorkerFiles=C:\dev\My\MyWorker\obj\QA\SlowCheetah\App.config -> MyWorker.dll.config 

из командной строки, Теперь, когда я создаю пакет, SlowCheetah не используется больше, и я не имею преобразования

CopyWorkerRoleFiles: 
WorkerFiles=C:\CI\My\MyWorker\bin\QA\MyWorker.dll.config -> MyWorker.dll.config 
WorkerFiles=C:\CI\My\MyWorker\bin\QA\App.config -> App.config 
WorkerFiles=C:\CI\My\MyWorker\obj\QA\MyWorker.dll -> MyWorker.dll 
WorkerFiles=C:\CI\My\MyWorker\obj\QA\MyWorker.pdb -> MyWorker.pdb 

Как я могу найти то, что мне не хватает, чтобы иметь такое же поведение между VS и командной строкой?

EDIT:

Я создал небольшой облачный проект с одним работником роли и slowcheetah, и все работает отлично на этом новом проекте ... Проблема исходит из моего проекта, я в два раза проверьте csproj и ccproj от моего решения с теми, от испытуемого раствора, и я не вижу большой разницы ...

EDIT 2:

Вот моя команда MSBuild для компиляции моего пр роект

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\MyProject.sln 
/p:Configuration=QA /p:TargetProfile=CloudQA /target:Publish /nr:false 

EDIT 3: я, наконец, сузили проблему до этого, я обновил Microsoft.Bcl 1.1.3, я скомпилировал его, преобразование работает отлично!

Я обновил Microsoft.Net.Http до 2.2.13, я скомпилировал его, преобразование завершилось неудачно.

The NuGet пакеты добавили это мой csproj ...

 <Reference Include="System.Net.Http" /> 
+ <Reference Include="System.Net.Http.Extensions"> 
+  <HintPath>..\packages\Microsoft.Net.Http.2.2.13\lib\net45\System.Net.Http.Extensions.dll</HintPath> 
+ </Reference> 
     <Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> 
     <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.30506.0\lib\net40\System.Net.Http.Formatting.dll</HintPath> 
     </Reference> 
+ <Reference Include="System.Net.Http.Primitives"> 
+  <HintPath>..\packages\Microsoft.Net.Http.2.2.13\lib\net45\System.Net.Http.Primitives.dll</HintPath> 
+ </Reference> 
+ <Reference Include="System.Net.Http.WebRequest" /> 

Если удалить все ссылки преобразование снова работает ...

я добавил назад эту ссылку и преобразование было еще работая:

+ <Reference Include="System.Net.Http.WebRequest" /> 

Я добавил этот код один за другим

+ <Reference Include="System.Net.Http.Extensions"> 
+  <HintPath>..\packages\Microsoft.Net.Http.2.2.13\lib\net45\System.Net.Http.Extensions.dll</HintPath> 
+ </Reference> 
+ <Reference Include="System.Net.Http.Primitives"> 
+  <HintPath>..\packages\Microsoft.Net.Http.2.2.13\lib\net45\System.Net.Http.Primitives.dll</HintPath> 
+ </Reference> 

И трансформация проекта снова не удалась.

EDIT 4:

Более подробная информация по этой проблеме, Micorosoft.Net.HttpClient NuGet Пакеты также изменения app.config при System.Net.Http.Extensions и System.Net.Http.Primitives. Он добавляет следующее в приложение.конфиг

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
<assemblyIdentity name="System.Net.Http.Extensions" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
<bindingRedirect oldVersion="0.0.0.0-2.2.13.0" newVersion="2.2.13.0" /> 
    </dependentAssembly> 
    <dependentAssembly> 
<assemblyIdentity name="System.Net.Http.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
<bindingRedirect oldVersion="0.0.0.0-4.2.13.0" newVersion="4.2.13.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

Вот вывод сборки этих сборок ссылочных

17>_CopyAppConfigFile: 
17> Copying file from "obj\Debug\Tests.MyProject.Data.csproj.App.config" to "bin\Debug\Tests.MyProject.Data.dll.config". 
17>CopyFilesToOutputDirectory: 
17> Copying file from "obj\Debug\Tests.MyProject.Data.dll" to "bin\Debug\Tests.MyProject.Data.dll". 
17> Tests.MyProject.Data -> C:\dev\MyProject\Tests\Tests.MyProject.Data\bin\Debug\Tests.MyProject.Data.dll 
17> Copying file from "obj\Debug\Tests.MyProject.Data.pdb" to "bin\Debug\Tests.MyProject.Data.pdb". 
17>ScReplaceAppConfigItem: 
17> Updated app.config to point to transformed file 
17>  AppConfigWithTargetPath: obj\Debug\Tests.MyProject.Data.csproj.App.config 
17>  AppConfigWithTargetPath.TargetPath: Tests.MyProject.Data.dll.config 

Удаление Microsoft ссылается

17>_CopyAppConfigFile: 
17> Copying file from "App.config" to "bin\Debug\Tests.MyProject.Data.dll.config". 
17>CopyFilesToOutputDirectory: 
17> Copying file from "obj\Debug\Tests.MyProject.Data.dll" to "bin\Debug\Tests.MyProject.Data.dll". 
17> Tests.MyProject.Data -> C:\dev\MyProject\Tests\Tests.MyProject.Data\bin\Debug\Tests.MyProject.Data.dll 
17> Copying file from "obj\Debug\Tests.MyProject.Data.pdb" to "bin\Debug\Tests.MyProject.Data.pdb". 
17>ScReplaceAppConfigItem: 
17> Copying file from "bin\Debug\Tests.MyProject.Data.dll.config" to "obj\Debug\SlowCheetah\App.config". 
17> Updated app.config to point to transformed file 
17>  AppConfigWithTargetPath: obj\Debug\SlowCheetah\App.config 
17>  AppConfigWithTargetPath.TargetPath: Tests.MyProject.Data.dll.config 
+0

Можете ли вы представить команду что вы выполняете? –

+0

Hello Sayed, FYI, я воссоздал решение со всем моим проектом, и он работает там с той же командой сборки ... – Swell

+0

У вас есть идея, где я должен начать отлаживать эту проблему? Спасибо – Swell

ответ

Смежные вопросы