使用Jenkins将wcf应用程序部署到QA,然后它引用Jenkins服务器

时间:2016-03-28 18:30:37

标签: wcf jenkins msbuild mef

我使用Jenkins将WCF应用程序部署到qa服务器。我收到以下错误消息。

        System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
           at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
           at System.Reflection.RuntimeModule.GetTypes()
           at System.Reflection.Assembly.GetTypes()
           at System.ComponentModel.Composition.Hosting.AssemblyCatalog.get_InnerCatalog()
           at System.ComponentModel.Composition.Hosting.AssemblyCatalog.GetExports(ImportDefinition definition)
           at System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
           at System.ComponentModel.Composition.Hosting.CatalogExportProvider.InternalGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
           at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports)
           at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
           at System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(ImportDefinition definition, AtomicComposition atomicComposition)
           at System.ComponentModel.Composition.Hosting.AggregateExportProvider.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
           at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExports(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports)
           at System.ComponentModel.Composition.Hosting.CompositionContainer.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
           at System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(ImportDefinition definition, AtomicComposition atomicComposition)
           at System.ComponentModel.Composition.Hosting.ImportEngine.TryGetExports(ExportProvider provider, ComposablePart part, ImportDefinition definition, AtomicComposition atomicComposition)
           at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportSubset(PartManager partManager, IEnumerable`1 imports, AtomicComposition atomicComposition)
           at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportsStateMachine(PartManager partManager, ComposablePart part)
           at System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImports(PartManager partManager, ComposablePart part, Boolean shouldTrackImports)
           at System.ComponentModel.Composition.Hosting.ImportEngine.SatisfyImports(ComposablePart part)
           at System.ComponentModel.Composition.Hosting.CompositionServices.TryInvoke(Action action)
           at System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.Compose(CompositionBatch batch)
           at IRWebSvc.MEF..ctor() in e:\Jenkins\Jobs\IRWebSvc\workspace\Jenkins__IRWebSvc_dev\IRWebSvc\MEF.cs:line 24
           at IRWebSvc.IRSvc.AddPage(String source, String xmlRequest) in e:\Jenkins\Jobs\IRWebSvc\workspace\Jenkins__IRWebSvc_dev\IRWebSvc\IRSvc.svc.cs:line 30

我不知道为什么它会引用e:\ Jenkins \ Jobs \ IRWebSvc \ workspace \ Jenkins__IRWebSvc_dev \ IRWebSvc文件夹中的文件。这是我从Github查看源代码的地方。

这是我如何编译和打包应用程序。

          <Target Name="Compile" DependsOnTargets="WebConfigTransform">
            <MSBuild Projects="@(SolutionFile)"
                     Targets="Rebuild"
                     Properties="OutDir=%(BuildArtifacts.FullPath);Configuration=$(Configuration);Platform=$(BuildPlatform)" />
          </Target>



          <Target Name="Package" DependsOnTargets="Compile">
            <PropertyGroup>
              <PackageDir>@(BuildArtifacts)\</PackageDir>
              <Source>@(BuildArtifacts)@(Website)</Source>
              <Destination>@(BuildArtifacts)@(PackageFile)</Destination>
            </PropertyGroup>

            <MakeDir Directories="$(PackageDir)" />
            <Exec Command='"@(MsDeploy)" -verb:sync -source:iisApp="$(Source)" -dest:package="$(Destination)"' />
          </Target>

1 个答案:

答案 0 :(得分:0)

我更改了MEF中的界面。使用它的所有模块都需要重新部署。我只部署了我需要使用的那个。这就是我收到错误信息的原因。