gibbed / Gibbed.Disrupt

Tools & code for use with Disrupt engine-based games (Watch Dogs, Watch Dogs 2, Watch Dogs: Legion). Disrupt engine is based on the Dunia engine.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

System.InvalidOperationException: An Object Can Be Null Needs To Have A Value

skycat2216 opened this issue · comments

Sorry for disturb, Again.

.\Gibbed.WatchDogs.Pack.exe -v C:\Users\[REDACTED]\files\WDTEMP\patch.fat C:\Users\[REDACTED]\files\WDTEMP/LOOSEFILE/
未處理的例外狀況: System.InvalidOperationException: 可為 Null 的物件必須具有值。
   於 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
   於 System.Nullable`1.get_Value()
   於 Gibbed.Disrupt.Packing.Pack`2.Main(String[] args, TryGetHashOverride`1 tryGetHashOverride) 於 C:\Users\[REDACTED]\files\Gibbed.Disrupt\projects\Gibbed.Disrupt.Packing\Pack.cs: 行 158
   於 Gibbed.WatchDogs.Pack.Program.Main(String[] args) 於 C:\Users\[REDACTED]\files\Gibbed.Disrupt\projects\Gibbed.WatchDogs.Pack\Program.cs: 行 31

winver:
Windows 11 22H2(22621.1848)
dotnet version:
7.0.304
installed runtime:
.NET 6.0/7.0
MSBuild version:
17.6.3+07e294721 for .NET

Update:
I did some reserach, and I found the reason(maybe)

var fat = new TArchive()

Because args from program.cs is "BigfileV3",CLR calls

        public BigFileV3()
        {
            this._Endian = Endian.Little;
            this._Entries = new List<BigEntry>();
        }

and returned nothing to var fat.(Anyone can check it through Visual Studio's breakpoint)
I'll raise a new issue later.