2016-07-25 11 views
1

Ich versuche, eine WPF-Anwendung mit ClickOnce bereitzustellen. Wenn ich versuche, meine zu veröffentlichen app ich folgende Build-Fehler bekommen:Fehler während der ClickOnce-Veröffentlichung

"obj\Debug....csproj.App.config;obj\Debug....exe.config" is an invalid value for the "ConfigFile" parameter of the "GenerateApplicationManifest" task. Multiple items cannot be passed into a parameter of type "Microsoft.Build.Framework.ITaskItem".

I Enable ClickOnce security settings im Properties Security Registerkarte deaktivieren und die Anwendung bauen gut, aber wenn ich versuche, meine app zu veröffentlichen, schalten Sie diese Option automatisch zurück und ich Erhalte den Fehler erneut.

Irgendeine Idee?

Die CSPROJ Datei:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 
    <PropertyGroup> 
    <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects> 
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 
    <ProjectGuid>{69869EA8-6B7F-4619-B2FD-330ACD1C67DC}</ProjectGuid> 
    <OutputType>WinExe</OutputType> 
    <AppDesignerFolder>Properties</AppDesignerFolder> 
    <RootNamespace>XXXXX</RootNamespace> 
    <AssemblyName>XXXXX</AssemblyName> 
    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> 
    <FileAlignment>512</FileAlignment> 
    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 
    <WarningLevel>4</WarningLevel> 
    <SccProjectName>SAK</SccProjectName> 
    <SccLocalPath>SAK</SccLocalPath> 
    <SccAuxPath>SAK</SccAuxPath> 
    <SccProvider>SAK</SccProvider> 
    <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir> 
    <RestorePackages>true</RestorePackages> 
    <IsWebBootstrapper>false</IsWebBootstrapper> 
    <PublishUrl>D:\Prj\Deployments\YYYY\</PublishUrl> 
    <Install>true</Install> 
    <InstallFrom>Unc</InstallFrom> 
    <UpdateEnabled>true</UpdateEnabled> 
    <UpdateMode>Foreground</UpdateMode> 
    <UpdateInterval>7</UpdateInterval> 
    <UpdateIntervalUnits>Days</UpdateIntervalUnits> 
    <UpdatePeriodically>false</UpdatePeriodically> 
    <UpdateRequired>true</UpdateRequired> 
    <MapFileExtensions>true</MapFileExtensions> 
    <InstallUrl>\\localhost\TEMP\Deployments\</InstallUrl> 
    <UpdateUrl>http://localhost</UpdateUrl> 
    <SupportUrl>http://localhost</SupportUrl> 
    <ProductName>YYYY</ProductName> 
    <PublisherName>ZZZZ YYYY</PublisherName> 
    <SuiteName>ZZZZ YYYY</SuiteName> 
    <MinimumRequiredVersion>1.0.0.1</MinimumRequiredVersion> 
    <ApplicationRevision>1</ApplicationRevision> 
    <ApplicationVersion>1.0.0.%2a</ApplicationVersion> 
    <UseApplicationTrust>false</UseApplicationTrust> 
    <CreateDesktopShortcut>true</CreateDesktopShortcut> 
    <PublishWizardCompleted>true</PublishWizardCompleted> 
    <BootstrapperEnabled>true</BootstrapperEnabled> 
    </PropertyGroup> 
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
    <PlatformTarget>AnyCPU</PlatformTarget> 
    <DebugSymbols>true</DebugSymbols> 
    <DebugType>full</DebugType> 
    <Optimize>false</Optimize> 
    <OutputPath>bin\Debug\</OutputPath> 
    <DefineConstants>DEBUG;TRACE</DefineConstants> 
    <ErrorReport>prompt</ErrorReport> 
    <WarningLevel>4</WarningLevel> 
    <UseVSHostingProcess>false</UseVSHostingProcess> 
    </PropertyGroup> 
    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    <PlatformTarget>x86</PlatformTarget> 
    <DebugType>pdbonly</DebugType> 
    <Optimize>true</Optimize> 
    <OutputPath>bin\Release\</OutputPath> 
    <DefineConstants>TRACE</DefineConstants> 
    <ErrorReport>prompt</ErrorReport> 
    <WarningLevel>4</WarningLevel> 
    </PropertyGroup> 
    <PropertyGroup> 
    <ManifestCertificateThumbprint>8F11330D41A056DBB7C8E399BE6B43740EC64755</ManifestCertificateThumbprint> 
    </PropertyGroup> 
    <PropertyGroup> 
    <ManifestKeyFile>XXXXX_TemporaryKey.pfx</ManifestKeyFile> 
    </PropertyGroup> 
    <PropertyGroup> 
    <GenerateManifests>true</GenerateManifests> 
    </PropertyGroup> 
    <PropertyGroup> 
    <TargetZone>Custom</TargetZone> 
    </PropertyGroup> 
    <PropertyGroup> 
    <SignManifests>true</SignManifests> 
    </PropertyGroup> 
    <ItemGroup> 
    ... 
    <Reference Include="WindowsBase" /> 
    <Reference Include="PresentationCore" /> 
    <Reference Include="PresentationFramework" /> 
    </ItemGroup> 
    <ItemGroup> 
    <ApplicationDefinition Include="App.xaml"> 
     <Generator>MSBuild:Compile</Generator> 
     <SubType>Designer</SubType> 
    </ApplicationDefinition> 
    <Compile Include="App.xaml.cs"> 
     <DependentUpon>App.xaml</DependentUpon> 
     <SubType>Code</SubType> 
    </Compile> 
    <Compile Include="Bootstrapper.cs" /> 
    <Compile Include="Resources\TestTheme.xaml.cs"> 
     <DependentUpon>TestTheme.xaml</DependentUpon> 
    </Compile> 
    <Compile Include="Shell.xaml.cs"> 
     <DependentUpon>Shell.xaml</DependentUpon> 
    </Compile> 
    </ItemGroup> 
    <ItemGroup> 
    <Compile Include="Properties\AssemblyInfo.cs"> 
     <SubType>Code</SubType> 
    </Compile> 
    <Compile Include="Properties\Resources.Designer.cs"> 
     <AutoGen>True</AutoGen> 
     <DesignTime>True</DesignTime> 
     <DependentUpon>Resources.resx</DependentUpon> 
    </Compile> 
    <Compile Include="Properties\Settings.Designer.cs"> 
     <AutoGen>True</AutoGen> 
     <DependentUpon>Settings.settings</DependentUpon> 
     <DesignTimeSharedInput>True</DesignTimeSharedInput> 
    </Compile> 
    <EmbeddedResource Include="Properties\Resources.resx"> 
     <Generator>ResXFileCodeGenerator</Generator> 
     <LastGenOutput>Resources.Designer.cs</LastGenOutput> 
    </EmbeddedResource> 
    <None Include="App.Debug.config"> 
     <DependentUpon>App.config</DependentUpon> 
    </None> 
    <None Include="App.Release.config"> 
     <DependentUpon>App.config</DependentUpon> 
    </None> 
    <Content Include="NLog.config"> 
     <CopyToOutputDirectory>Always</CopyToOutputDirectory> 
    </Content> 
    <None Include="XXXXX_TemporaryKey.pfx" /> 
    <None Include="NLog.xsd"> 
     <SubType>Designer</SubType> 
    </None> 
    <None Include="packages.config" /> 
    <None Include="Properties\app.manifest"> 
     <SubType>Designer</SubType> 
    </None> 
    <None Include="Properties\Settings.settings"> 
     <Generator>SettingsSingleFileGenerator</Generator> 
     <LastGenOutput>Settings.Designer.cs</LastGenOutput> 
    </None> 
    <AppDesigner Include="Properties\" /> 
    </ItemGroup> 
    <ItemGroup> 
    <None Include="App.config"> 
     <SubType>Designer</SubType> 
    </None> 
    </ItemGroup> 
    <ItemGroup> 
    <ProjectReference Include="..\..\..\..\Framework\Entidad\ZZZZ.AAAA.Entidad\ZZZZ.AAAA.Entidad.csproj"> 
     <Project>{6c7ed6cb-c453-41bc-9bfc-e9105a065615}</Project> 
     <Name>ZZZZ.AAAA.Entidad</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\BBBB.Contracts\BBBB.Contracts.csproj"> 
     <Project>{65bab214-c87d-496f-b7ce-03a73aa3a685}</Project> 
     <Name>BBBB.Contracts</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\BBBB.Entidad\BBBB.Entidad.csproj"> 
     <Project>{4a61ec1c-253d-477c-a8c9-87aef600d69d}</Project> 
     <Name>BBBB.Entidad</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\BBBB.Localizacion\BBBB.Localizacion.csproj"> 
     <Project>{fe2246fa-ba74-4e91-9ad9-c2606c2ba4b1}</Project> 
     <Name>BBBB.Localizacion</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\BBBB.Presentation.Core\BBBB.Presentation.Core.csproj"> 
     <Project>{5b1b5735-ee66-4956-b68c-429cc6b01ea0}</Project> 
     <Name>BBBB.Presentation.Core</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\BBBB.Resources\BBBB.Resources.csproj"> 
     <Project>{0f408753-5a8c-4780-8280-1bed14660c69}</Project> 
     <Name>BBBB.Resources</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\XXXXX.Comun\XXXXX.Comun.csproj"> 
     <Project>{4b0efbde-e1c8-4c54-a43c-c7d5f85dd95f}</Project> 
     <Name>XXXXX.Comun</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\XXXXX.ScreenKeyboard\XXXXX.ScreenKeyboard.csproj"> 
     <Project>{6b779f3c-fa16-4bb8-96a8-ab5296694235}</Project> 
     <Name>XXXXX.ScreenKeyboard</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\BBBB.WebApi.Client\BBBB.WebApi.Client.csproj"> 
     <Project>{45a506ec-bee9-4ea1-9a7d-fef5491f2859}</Project> 
     <Name>BBBB.WebApi.Client</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\BBBB.WebApi.Contracts\BBBB.WebApi.Contracts.csproj"> 
     <Project>{1c5240a4-7946-4817-8cf6-70de8a637299}</Project> 
     <Name>BBBB.WebApi.Contracts</Name> 
    </ProjectReference> 
    <ProjectReference Include="..\Mocks.WebApi.Client\Mocks.WebApi.Client.csproj"> 
     <Project>{21a66fd4-3548-4c18-805d-5d5ae5246cad}</Project> 
     <Name>Mocks.WebApi.Client</Name> 
    </ProjectReference> 
    </ItemGroup> 
    <ItemGroup> 
    <Page Include="Resources\TestTheme.xaml"> 
     <SubType>Designer</SubType> 
     <Generator>MSBuild:Compile</Generator> 
    </Page> 
    <Page Include="Shell.xaml"> 
     <SubType>Designer</SubType> 
     <Generator>MSBuild:Compile</Generator> 
    </Page> 
    </ItemGroup> 
    <ItemGroup> 
    <BootstrapperPackage Include=".NETFramework,Version=v4.5"> 
     <Visible>False</Visible> 
     <ProductName>Microsoft .NET Framework 4.5 %28x86 and x64%29</ProductName> 
     <Install>true</Install> 
    </BootstrapperPackage> 
    <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> 
     <Visible>False</Visible> 
     <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> 
     <Install>false</Install> 
    </BootstrapperPackage> 
    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> 
     <Visible>False</Visible> 
     <ProductName>.NET Framework 3.5 SP1</ProductName> 
     <Install>false</Install> 
    </BootstrapperPackage> 
    <BootstrapperPackage Include="Microsoft.Windows.Installer.4.5"> 
     <Visible>False</Visible> 
     <ProductName>Windows Installer 4.5</ProductName> 
     <Install>true</Install> 
    </BootstrapperPackage> 
    </ItemGroup> 
    <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 
    <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" /> 
    <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
    <PropertyGroup> 
     <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
    </PropertyGroup> 
    <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> 
    </Target> 
    <Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" /> 
    <Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''"> 
    <Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" /> 
    <Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" /> 
    </Target> 
    <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
     Other similar extension points exist, see Microsoft.Common.targets. 
    <Target Name="BeforeBuild"> 
    </Target> 
    <Target Name="AfterBuild"> 
    </Target> 
    --> 
    <UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.Tasks.dll" /> 
    <Target Name="AfterCompile" Condition="Exists('App.$(Configuration).config')"> 
    <!--Generate transformed app config in the intermediate directory--> 
    <TransformXml Source="App.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="App.$(Configuration).config" /> 
    <!--Force build process to use the transformed configuration file from now on.--> 
    <ItemGroup> 
     <AppConfigWithTargetPath Remove="App.config" /> 
     <AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config"> 
     <TargetPath>$(TargetFileName).config</TargetPath> 
     </AppConfigWithTargetPath> 
    </ItemGroup> 
    </Target> 
    <!--Override After Publish to support ClickOnce AfterPublish. Target replaces the untransformed config file copied to the deployment directory with the transformed one.--> 
    <Target Name="AfterPublish"> 
    <PropertyGroup> 
     <DeployedConfig>$(_DeploymentApplicationDir)$(TargetName)$(TargetExt).config$(_DeploymentFileMappingExtension)</DeployedConfig> 
    </PropertyGroup> 
    <!--Publish copies the untransformed App.config to deployment directory so overwrite it--> 
    <Copy Condition="Exists('$(DeployedConfig)')" SourceFiles="$(IntermediateOutputPath)$(TargetFileName).config" DestinationFiles="$(DeployedConfig)" /> 
    </Target> 
    <PropertyGroup> 
    <PreBuildEvent>(if exist "$(TargetDir)*old.pdb" del "$(TargetDir)*old.pdb") &amp; (if exist "$(TargetDir)*.pdb" ren "$(TargetDir)*.pdb" *.old.pdb)</PreBuildEvent> 
    </PropertyGroup> 
</Project> 

Antwort

0

Versuchen Sie, die CSPROJ Datei in Projekt und umfassen folgende Zeile unter <PropertyGroup> bearbeiten:

<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects> 
1

versuchen, Dateien von obj \ Debug-Ordner zu entfernen und versuchen Publishing nochmal. Überprüfen Sie auch, ob Sie das clickonce-Manifest-Kontrollkästchen aktiviert haben oder nicht?

enter image description here

+0

Ich habe den obj/debug-Ordner aus dem StartUp-Projekt entfernt und das 'Sign the clickonce manifest' wird angekreuzt und nichts ändert sich, das Projekt wird nicht kompiliert. –

+0

Können Sie das Kontrollkästchen "Manifest" deaktivieren und mich wissen lassen, ob Sie das gleiche Problem haben? –

+0

Deaktivieren Sie das Manifest ich die gleiche Fehlermeldung erhalten: "obj \ Debug \ ... .csproj.App.config; obj \ Debug \ .... exe.config" ist ein ungültiger Wert für den "ConfigFile" Parameter des " GenerateApplicationManifest "Aufgabe. Mehrere Elemente können nicht an einen Parameter vom Typ "Microsoft.Build.Framework.ITaskItem" übergeben werden. Wenn Sie die Sicherheit/ClickOnce-Sicherheitseinstellungen nur deaktivieren, wird das Projekt problemlos kompiliert –

0

Schließlich fand ich das Problem. In der CSPROJ Datei in den Zeilen:

<Target Name="AfterCompile" Condition="Exists('App.$(Configuration).config')"> 
    <!--Generate transformed app config in the intermediate directory--> 
    <TransformXml Source="App.config" Destination="$(IntermediateOutputPath)$(TargetFileName).config" Transform="App.$(Configuration).config" /> 
    <!--Force build process to use the transformed configuration file from now on.--> 
    <ItemGroup> 
     <AppConfigWithTargetPath Remove="App.config" /> 
     <AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config"> 
     <TargetPath>$(TargetFileName).config</TargetPath> 
     </AppConfigWithTargetPath> 
    </ItemGroup> 
    </Target> 

entfernte ich den Block:

<ItemGroup> 
      <AppConfigWithTargetPath Remove="App.config" /> 
      <AppConfigWithTargetPath Include="$(IntermediateOutputPath)$(TargetFileName).config"> 
      <TargetPath>$(TargetFileName).config</TargetPath> 
      </AppConfigWithTargetPath> 
     </ItemGroup> 

und jetzt das Projekt baut erfolgreich.

Verwandte Themen