I have project in PB 12.5 and want to migrate on dotnet core. I found a shortcut to migrate my business logics from PB to .net core.
I build a dll in my pb.net project and use it in framework 4 dotnet WCf project. After adding dll and run my project it work fine but when i deploy my project on iis then it gives me error.
"Could not load file or assembly 'pbtonet_assembly' or one of its dependencies. An attempt was made to load a program with an incorrect format."
Please note : pbtonet_assembly -> is my PB dll add in WCF project as reference.
Related
I am trying to deploy stateless micro service application into service fabric but I get this error as soon as I start the deployment.
Project is targeting runtime 'win7-x64' but did not resolve any runtime-specific packages for the 'Microsoft.NETCore.App' package. This runtime may not be supported by .NET Core.
How to fix this ?
If you're unable to upgrade to .NET Core 3.1, you can suppress this error by adding this inside a <PropertyGroup> in your project file:
<EnsureNETCoreAppRuntime>false</EnsureNETCoreAppRuntime>
The error is a design-time error and won't cause a runtime failure.
If you create your stateless micro service application on VS2019, you should note that Net Core <=3.0 is not supported by Stateless project.
So you should target your project framework to at least Net Core 3.1.
Right-click on your project Properties-->Application-->change target framework version to net core 3.1.
If I target project into net core 2.2, the error will happen.
Note that, you should make sure that your target framework version of the pubxml file is the same of your project target framework version.
Our .net core 2.1 solution compiles fine on our local development machines with .net core sdk 2.1.301. Appveyor used to compile the solution in its CI pipeline when there was no database projects defined. Once such a project added, Appveyor started failing in building the solution with the error message below. Any clues how to address this issue?
C:\projects\comingsoon\ComsingSoonDatabase\ComsingSoonDatabase.sqlproj(57,3):
error MSB4019: The imported project "C:\Program
Files\dotnet\sdk\2.1.300\Microsoft\VisualStudio\v11.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets"
was not found. Confirm that the path in the declaration is
correct, and that the file exists on disk.
The database project can only be built using the full framework MSBuild tools included in visual studio.
Depending on how you set up appveyor, you need to change your definition to use msbuild.exe instead of dotnet commands.
Environment
Visual Studio 2017
.NET Standard 2.0
.NET Framework 4.6.1
MyCustomTask.csproj contains custom MS build tasks and has multi targets to generate a separate dll for .NET Full and .NEt Core runtime.
There is a 3 level dependency on the Nuget Package "Microsoft.Extensions.Configuration.Json" which in turn has a dependency to Newtonsoft.Json package. as shown below.
The build is all fine and the Nuget package for MyCustomTask is generated successfully.
When I install my MyCustomTask Nuget package on target project then the custom build task is getting successfully executed on .NET Full runtime from Visual Studio 2017, but for .NET Core dotnet build command fail to execute the custom build task...
System.IO.FileLoadException: Could not load file or assembly 'Newtonsoft.Json, Version=10.0.0.0, Culture=neutral.
Even if I package all the dependent DLL and place it in same directory of the .netstandard custom task dll I keep getting same error.
Any thoughts how this can be resolved ?
Posting a solution here for those who are experiencing the same issue.
Credit to #MartinUllrich for posting the solution in a comment above. This saved me a lot of trouble.
https://github.com/AArnott/Nerdbank.MSBuildExtension
Ensure your custom task inherits from ContextIsolatedTask and copy the dependent assemblies to same directory as your task assembly.
I want my ASP.NET Core Web API to run as a self-contained exe within the .NET framework and not .NET Core Framework. Is that possible? Thanks!
EDIT:
If I add "net451": {} to my frameworks section in project.json,
I get the following exception:
Failed to make the following project runnable: myProject (.NETCoreApp,Version=v1.0) reason: Expected coreclr library not found in package graph. Please try running dotnet restore again.
You can't create a self-contained app which targets .NET Framework >=4.5, because the full .NET Framework isn't modular and its not possible to have more than one version of it installed. Newer versions basically always replace the previous one.
Self-contained apps were one main motivation for .NET Core (together with portability)
You ALWAYS have to install .NET >=4.5 before your app can run. self-contained apps only work with .NET Core because .NET core libraries can be pulled through nuget package.
For .NET 4.6 you can only create portable apps, which is the default mode.
My project failed to build on Bamboo server, but my project successfully built on my local machine. My project is using the .Net Framework 2.0.
Error:
LC : error LC0000: 'Could not load file or assembly 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Internals\v4.0_4.0.0.0__31bf3856ad364e35\System.ServiceModel.Internals.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.' [C:\Atlassian\Bamboo-Home\xml-data\build-dir\23822338\OCODEA-MER-JOB1\BACKOFFICE\example.csproj]
You're trying to build .net 2 with msbuild from .net 4. Are you sure there is .net 2 on the bamboo agent? and it would probably help if you build it with msbuild 2.0. That whay you know for sure the frameworks there. For sinplicity.