Forum Discussion

MikhailPodolski's avatar
MikhailPodolski
Brass Contributor
Jul 04, 2023

Unable to deploy/push to a GitHub the .Net 4.72 ASMX Webservice because of error MSB4019 (Microsoft.

I have .NET 4.72 ASMX Web Service that references a .Net Standard 2.0 class library with the Entity Framework

I am using Visual Studio 2022

Everything works fine when I work with the code locally. Everything successfully compiles and runs

 

However, when I try to push the code to a GIT repository, the code fails. It gives me this error

 

error MSB4019: The imported project "/usr/share/dotnet/sdk/7.0.305/Microsoft/VisualStudio/v17.0/WebApplications/Microsoft.WebApplication.targets" was not found. Confirm that the expression in the Import declaration "/usr/share/dotnet/sdk/7.0.305/Microsoft/VisualStudio/v17.0/WebApplications/Microsoft.WebApplication.targets" is correct, and that the file exists on disk.

I tried to remove all those targets references from my proj file, but the VS adds this line automatically

 

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" />

 

If I force this targets reference out of the proj file, I will get a different error

 

error MSB3644: The reference assemblies for .NETFramework,Version=v4.7.2 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks

 

I also tried to copy target files locally in the project folder and reference them from there

 

Also, I tried to use

 

<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />

 

Instead of

 

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" />

 

Nothings works

 

What can I do to successfully push the code to GitHub

 

Thank you in advance

2 Replies

  • santosh_ms's avatar
    santosh_ms
    Copper Contributor

    MikhailPodolski 
    1. Did you check if the SDK version mentioned in the error is present on build server?
    2. Check the csproj files if target version is mentioned as netstandard2.0 and if there are no conflicting or outdated versions.
    3. If you have multiple versions on build server you can mention this just below project tag.
    <PropertyGroup> <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch> </PropertyGroup

    Let me know if you have tried all these things and still its not working. 

     

    I hope I understood the problem right. 

    • MikhailPodolski's avatar
      MikhailPodolski
      Brass Contributor

      santosh_ms thank you very much for your hint

      After an extensive research I came to a realization that I might to update the build_check.yaml file for a solution. Currently it accounts for the .NET Core. Should I update it in some specific way to account for the .Net Framework 4.7.2?

      Here are the contents of the yaml file that I currently have

      Copy
       
      name: Build check
      
      on:
        pull_request:
      
      jobs:
        test:
          name: Build check
          runs-on: ubuntu-latest
          steps:
          - uses: actions/checkout@v3
          - name: Setup .NET Core
            uses: actions/setup-dotnet@v3
            with:
              dotnet-version: |
                6.0.x
                7.0.x
          - name: Restore packages for solution
            run: dotnet restore
          - name: Build solution
            run: dotnet build --no-restore -c debug
      #    - name: Run tests
      #      run: dotnet test --no-build -c debug

Resources