Forum Discussion
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_msCopper 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.
- MikhailPodolskiBrass 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
Copyname: 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