locked
Do .NET Full-Framework SDK style projects still support ClickOnce? RRS feed

  • Question

  • We've recently started to migrate our .NET Full-Framework (net472) projects to the new SDK-style project format. Some tools were previously distributed using ClickOnce and we just manually deployed them from Visual Studio in the project settings' "Publish" tab.

    <TargetFramework>net472</TargetFramework>
    Even though all the MSBuild properties are still in place in the .csproj file (e.g. PublishUrl, PublisherName, ...)  Visual Studio doesn't seem to detect that it's a ClickOnce application anymore and the "Publish" tab is gone.

    When calling msbuild /t:publish ... the application is just published to the "normal" output directory into the app.publish folder. No .application or other deployment files are created. To me it seems like Visual Studio is just assuming that it should "dotnet publish" if it's an SDK-style project.

    Maybe ClickOnce support was explicitly dropped? I couldn't find any official announcement on this.

    Monday, January 27, 2020 9:59 AM

All replies

  • Hi Steffen Wilke,

    Welcome to MSDN forum.

    According to your description, I found this document. From it, the PublishUrl is just used in IDE, and if you want to use it with msbuild tool, you could use PublishDir property. And I have test it on my side, it could work, please check it here:

    The csproj file:

    The build log:

    Any feedback will be expected.

    Best Regards,

    Dylan


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com

    Tuesday, January 28, 2020 2:33 AM
  • This will just copy the files from the target directory to the publish directory, but won't generate any ClickOnce package... or did I missed something?
    Thursday, February 6, 2020 8:36 AM
  • Hi Dylan,

    the problem is not that I'm unable to get the executable to the PublishDir or PublishUrl. The issue is that the ClickOnce mechanism is not used for it . Instead of .deploy binaries in the Application Files/ClickOnceTest_1_0_0_0 folder, I just get the binaries in the publish root directory.

    So this is not a ClickOnce application anymore (e.g. with automatic update behavior) but its just an executable in a directory.

    As I said in my original question, the Visual Studio Publish tabpage is gone for SDK-style projects. And the "Publish" feature from the context menu of the project just dumps the executable into the PublishDir without ClickOnce functionality.

    The question is: Was ClickOnce support dropped for SDK-style projects or is there any project property that I can/must set to re-enable this feature?

    Thursday, February 6, 2020 9:40 AM
  • I get the impression that ClickOnce support for .NET SDK has not been implemented at all. The files under MSBuild\Sdks\Microsoft.NET.Sdk\ do not contain the terms "ClickOnce" or "manifest". In contrast, MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets defines the "GenerateApplicationManifest" and "GenerateDeploymentManifest" targets, which invoke the corresponding tasks.

    ClickOnce was mentioned in some issues in https://github.com/dotnet/sdk/.

    Perhaps they would rather have you create a separate AppX package project.

    Thursday, February 6, 2020 5:28 PM
  • "ClickOnce Support for .NET Core" is now tracked in https://github.com/dotnet/deployment-tools/issues/9. Perhaps that will also make it easier to support ClickOnce in SDK-style projects targeting .NET Framework.
    Tuesday, August 4, 2020 9:00 AM