ClickOnce - .net 4.0 errors: "Deployment manifest is not semantically valid" and "Deployment manifest is missing "

Team Build 2010 is being used to build the deployment manifest for a .Net 4.0 application to be deployed via ClickOnce.

The application manifest is being built using mage.exe

After the application and deployment manifests have been built successfully application is attempted to be installed, it comes up with error

Error Message:

ERROR SUMMARY

                Below is a summary of the errors, details of these errors are listed later in the log.

                * Activation of https://NGIMSMOKECRMDB.parttest.extranettest.microsoft.com:555/NgimMsCrmClient/NgimMsCrmClient\_DAILYBUILD.application resulted in exception. Following failure messages were detected:

                                + Deployment manifest is not semantically valid.

                                + Deployment manifest is missing <compatibleFrameworks>.

 

 

Solution:

GenerateDeploymentTask will need the TargetFramework attribute to be set.

This can be done by setting TargetFrameworkMoniker input parameter in GenerateDeploymentManifest to ".NETFramework,Version=v4.0"

 

An example of how this looks is as below.

 

<Project DefaultTargets="NgimCustomBuild" xmlns="https://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion ="4.0">

<GenerateDeploymentManifest

      AssemblyName ="$(AppName).application"

      TrustUrlParameters="true"

… …

      TargetFrameworkVersion="v4.0"

      TargetFrameworkMoniker=".NETFramework,Version=v4.0"

… …

      ></GenerateDeploymentManifest>

Contributor : Ravi Shankar