Build Issue in OpenRPA VB5250

Hi…

I’m trying to build the OpenRPA source in preparation for upgrading the the Nuget package versions to address a couple of security issues.

In the process of building the source code from Git, I’m receiving the following on VB5250:
C:\Program Files (x86)\dotnet\sdk\8.0.203\Microsoft.Common.CurrentVersion.targets(2389,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly “NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL”. Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Dev\W
orkflow\openrpa\vb5250\ibm5250\IBM5250.vbproj]

C:\Program Files (x86)\dotnet\sdk\8.0.203\Microsoft.Common.CurrentVersion.targets(2389,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly “NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL”. Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. [C:\Dev\Workflow\openrpa\vb5250\IBMiClient\IBMiClient\IBMiClient.vbproj]

C:\Program Files (x86)\dotnet\sdk\8.0.203\Microsoft.Common.CurrentVersion.targets(3386,5): error MSB3823: Non-string resources require the property GenerateResourceUsePreserializedResources to be set to true. [C:\Dev\Workflow\openrpa\vb5250\IBMiClient\IBMiClient\IBMiClient.vbproj]

C:\Program Files (x86)\dotnet\sdk\8.0.203\Microsoft.Common.CurrentVersion.targets(3386,5): error MSB3822: Non-string resources require the System.Resources.Extensions assembly at runtime, but it was not found in this project’s references. [C:\Dev\Workflow\openrpa\vb5250\IBMiClient\IBMiClient\IBMiClient.vbproj]

I’m guessing I’m missing something pretty obvious, but would appreciate any help you guys could give me.

Thanks!!!

Hey
openrpa does not use nlog ?
and openrpa does not have any nuget packages ( except OpenRPA.WorkItems.Activities but no one can use that, since UiPath no longer support dotnet 4.x )

Seems to use it in OpenRPA.Interfaces.Log

The vb5250 repo also still references NLog, even though it doesn’t use it anywhere.
See vb5250/ibm5250/IBM5250.vbproj at ef121efca407d19bb1c75fb10115a63b31f9c40d · open-rpa/vb5250 · GitHub as example

I feel stupid now … i should have known that.
I just related to the fact i have not used nlog since the early beginnings on OpenRPA. Thank you for letting me know.

regarding the error, i cannot see what that should be …
chat gpt suggesting updating the project files and installing more nuget packages, but i never needed to do that.
Did you install visual studio 2022 and add the correct sdk’s ? it’s a NIGHTMARE to get right, due to microsoft pushing hard on people to not use dotnet 4.x ( see here )

Chat GPT response

This error message is related to the building process of a .NET project and involves resources within the project. It points out two specific issues that need to be addressed:

  1. GenerateResourceUsePreserializedResources Property Needs to be Set to True:

    • Meaning: The first part of the error (MSB3823) is indicating that your project contains non-string resources (like images, files, etc.), and the build process requires a specific property, GenerateResourceUsePreserializedResources, to be set to true. This property tells the build process to use pre-serialized resources, which is necessary for non-string resources.
    • Solution: To resolve this, you need to edit your project file (.csproj, .vbproj, or another depending on your project type) and include the following setting within the <PropertyGroup> section:
      <GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
      
  2. System.Resources.Extensions Assembly Not Found:

    • Meaning: The second part of the error (MSB3822) mentions that the project requires the System.Resources.Extensions assembly at runtime to handle non-string resources, but it cannot find this assembly in your project’s references. This assembly provides support for adding and working with non-string resources in .NET projects.
    • Solution: You need to add a reference to the System.Resources.Extensions assembly. This can typically be done by adding the System.Resources.Extensions package via NuGet Package Manager in your development environment. You can do this through the NuGet Package Manager UI or by running the following command in your package manager console:
      Install-Package System.Resources.Extensions -Version [desired_version]
      
      Replace [desired_version] with the specific version you wish to use, or omit the version to get the latest stable version.

Applying these solutions should help resolve the errors you’re encountering. Make sure to save your project file after making these edits and then rebuild your project to see if the issues have been resolved.

Hi Allan!!

Thanks for the quick response. I’ve been trying to build using Visual Studio Code and the SDKs directly. My company will not let us use Visual Studio 2022 anymore, so this is the path I’m trying to go down.

Thanks!

I am 99,99% sure that will not work.
I can only help with visual studio 2022

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.