One of our third-party applications is used heavily. We depend on it. Recently a user complained about an error she was getting while using the application. I've never seen this app produce that error before. So, I've been investigating the error. As a third-party application we do not have the source code, so I am relying upon my years of experience with Visual Studio. The application is an ASP.NET app, written using .NET Framework 4.7.2. Looking at one of the log files that the app writes using Log4Net, I've found an error involving a FOREIGN KEY constraint between two tables in the database, during an UPDATE statement. In the log for that error there is this line:
at Prism.Core.DataAccessLayer.FieldRecordDataAccess.UpdateFieldRecord(FieldRecord fieldRecord, PrismDataBase pdb) in D:\SourceD\prismrepo\Prism\Prism.Core\DataAccessLayer\FieldRecordDataAccess.cs:line 907
The mysterious issue for me is the path to the error in the FieldRecordDataAccess.cs file. The path to that C# file is: D:\SourceD\prismrepo\Prism\Prism.Core\DataAccessLayer
Here's my problem. The web server doesn't have a D: drive.
The database server does have a D: drive, but it does not have a folder named SourceD on the D: drive.
Now, maybe there's no problem. Maybe that path is what was on the build server when the vendor created a deployable executable to us. I don't know how MSBuild does all its work as I've never dived deep into what goes into log files. Is my guess actually how things work, when compiling a .NET Framework application? If not, then where in heck is that SourceD folder?