Skip to main content
Question

Signature changed on InventoryItem.PK.Find(Base, row.InventoryID) in 23R2?

  • January 24, 2024
  • 0 replies
  • 81 views

Joe Schmucker
Captain II
Forum|alt.badge.img+3

I am upgrading from 23R1 to 23R2. 

I unpublished the project before upgrading it.

When publishing my project I get this error:

Able2.dll Method signature was changed: PX.Objects.IN.InventoryItem PX.Objects.IN.InventoryItem/PK::Find(PX.Data.PXGraph,System.Nullable`1<System.Int32>) declared in PX.Objects, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
 

I opened the project, did a Build - Clean to remove all previous DLLs in the bin folder.  Verified my VS project library path pointed to the bin folder of my site. 

This line compiles with no errors:

InventoryItem inventoryItem = InventoryItem.PK.Find(Base, row.InventoryID);

I had to change to a BQL select to get rid of the error.

InventoryItem inventoryItem = SelectFrom<InventoryItem>.Where<InventoryItem.inventoryID.IsEqual<@P.AsInt>>.View.Select(Base, row.InventoryID);

When I opened the project and rebuilt it, then went to the browser, it literally KILLED my site.  I had to re-install the web site files to get the site to run.

The project can now be published, but if the signature changed, why does my code compile?