Complex project build issues with vvvvc

I got quite complex project, with a lot of deps

The project compiles green, but when I open exe I’m getting random thing mssing exception i end up with:

<Project>
    <PropertyGroup>
        <AvaloniaPackagePath>$(MSBuildThisFileDirectory)..\__nugets\Avalonia.11.2.1</AvaloniaPackagePath>
    </PropertyGroup>

    <ItemGroup>
        <PackageVersion Include="Avalonia" Version="11.2.1" />
        <PackageVersion Include="HarfBuzzSharp" Version="7.3.0.2" />
        <PackageVersion Include="HarfBuzzSharp.NativeAssets.Win32" Version="7.3.0.2" />
        <PackageVersion Include="MessagePack" Version="2.5.124" />
        <PackageVersion Include="VL.Core.Skia" Version="2025.7.4" />
        <PackageVersion Include="VL.ImGui" Version="2025.7.4" />
        <PackageReference Include="Avalonia" IncludeAssets="compile;runtime" />
        <PackageReference Include="HarfBuzzSharp" IncludeAssets="runtime;native" />
        <PackageReference
            Include="HarfBuzzSharp.NativeAssets.Win32"
            IncludeAssets="runtime;native"
        />
        <PackageReference Include="MessagePack" IncludeAssets="runtime" />
        <PackageReference Include="VL.Core.Skia" IncludeAssets="native" />
        <PackageReference Include="VL.ImGui" IncludeAssets="native" />
    </ItemGroup>

    <ItemGroup>
        <Reference Update="Avalonia;Avalonia.Base;Avalonia.Controls;Avalonia.DesignerSupport;Avalonia.Dialogs;Avalonia.Markup;Avalonia.Markup.Xaml;Avalonia.Metal;Avalonia.MicroCom;Avalonia.OpenGL;Avalonia.Vulkan">
            <HintPath>$(AvaloniaPackagePath)\ref\net8.0\%(Filename).dll</HintPath>
            <Private>false</Private>
        </Reference>
    </ItemGroup>
</Project>

.targets file.

Command that i’m using:

"%VVVVC_PATH%" "%VVVV_PATCH%" --output-directory "%OUTPUT_PATH%" --output-type WinExe --asset-behavior RelativeToOutput --nuget-path "%NUGET_PATH%" --package-repositories "%PACKAGE_REPOSITORIES%"

I’m not sure, looking for advice, is it normal?

Just out of curiosity I exported it normal way and it seems to function properly, this is 7.4

Did you figure it out by now? Can you be a bit more specific? What random thing is missing?

Hi, the observations are following:

  • I don’t experience same behavior on another project with similia setup using vvvvc.

Suspicion that maybe it’s somehow related to the fact that when you export via F10 it generates .props files that something picks up afterwards (this one was made whiteout F10 export)

Random thing missing is an DllNotFound exception like MessagePack native assets. or skia native assets…

After i added build scripts to another project, and it functions properly i suspect there is some configuration issue, but i feel like it’s not the first time a ran in to this with vvvvc. Thinking what to do to get more accurate results.

I might be experiencing something similar with GammaLauncher. When building from the editor (F10) it works just fine, but running from command line (using fallout in this case) errors with

[ERR] Compile: Unhandled exception. System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
[ERR] Compile: Could not load file or assembly 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
[ERR] Compile:    at System.Reflection.RuntimeModule.GetDefinedTypes()
[ERR] Compile:    at System.Reflection.RuntimeModule.GetTypes()
[ERR] Compile:    at VL.AppServices.CompilationHelper.SwapAssembly(Assembly assembly, Int32 pass)
[ERR] Compile:    at VL.Model.VLSession.Swap(ITargetCompilation compilation)
[ERR] Compile:    at VL.Model.VLSession.UpdateRuntimesAsync(PreCompilation preCompilation, CancellationToken token, IProgress`1 progress, Boolean incremental)
[ERR] Compile:    at VL.Model.VLSession.UpdateCompilationCoreAsync(Solution solution, CompileOptions options, CancellationToken token, IProgress`1 progress, Boolean incremental)
[ERR] Compile:    at Program.ConsoleSession.OnException(ExceptionDispatchInfo exceptionDispatchInfo)
[ERR] Compile:    at VL.Core.AppHost.ReportException(ExceptionDispatchInfo exceptionDispatchInfo)
[ERR] Compile:    at VL.Model.VLSession.UpdateCompilationCoreAsync(Solution solution, CompileOptions options, CancellationToken token, IProgress`1 progress, Boolean incremental)
[ERR] Compile:    at VL.Model.VLSession.UpdateCompilationAsync(Solution solution, CompileOptions options, IProgress`1 progress, Boolean incremental, CancellationToken cancellationToken)
[ERR] Compile:    at VL.Model.VLSession.UpdateAsync(Solution solution, SolutionUpdateKind kind, Canvas canvas, IProgress`1 progress, CancellationToken cancellationToken)
[ERR] Compile:    at Program.ConsoleSession.OnException(ExceptionDispatchInfo exceptionDispatchInfo)
[ERR
] Compile:    at VL.Core.AppHost.ReportException(ExceptionDispatchInfo exceptionDispatchInfo)
[ERR] Compile:    at VL.Model.VLSession.UpdateAsync(Solution solution, SolutionUpdateKind kind, Canvas canvas, IProgress`1 progress, CancellationToken cancellationToken)
[ERR] Compile:    at VL.Model.VLSession.AddRootAndLoadSymbolsAsync(Document document, CancellationToken token, IProgress`1 progress)
[ERR] Compile:    at VL.Model.VLSession.LoadDocumentAsync(String filePath, CancellationToken token, IProgress`1 progress)
[ERR] Compile:    at Program.<>c__DisplayClass0_0.<<Main>g__GenerateExecutableAsync|1>d.MoveNext()
[ERR] Compile: --- End of stack trace from previous location ---
[ERR] CompilePS D:\Documents\dev\apps\GammaLauncher\fallout\build> :    at Program.Main(String[] args)
[ERR] Compile:    at Program.<Main>(String[] args)
[ERR] Compile: System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
[ERR] Compile: File name: 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

Repro steps:

  • Checkout the GammaLauncher repo at c396d07115c5460fa65d120c8595f84d73cf42b6
  • Open a PowerShell, cd inside and run
 & "C:\Program Files\vvvv\vvvv_gamma_8.0-0150-g64abc88e08-win-x64\vvvvc.exe" GammaLauncher.vl --output-type WinExe --rid win-x64 --clean

Here I’m getting

PS D:\Documents\dev\apps\GammaLauncher> & "C:\Program Files\vvvv\vvvv_gamma_8.0-0150-g64abc88e08-win-x64\vvvvc.exe" GammaLauncher.vl --output-type WinExe --rid win-x64 --clean
info: vvvv[0]
      Loading GammaLauncher.vl
fail: vvvvc[0]
      System.ArgumentException: The base path must be absolute. (Parameter 'basePath')
         at VL.Lib.IO.Path.MakeAbsolute(Path basePath)
         at VL.Model.Internal.Dependency..ctor(ObjectReader reader)
fail: vvvvc[0]
      System.ArgumentException: The base path must be absolute. (Parameter 'basePath')
         at VL.Lib.IO.Path.MakeAbsolute(Path basePath)
         at VL.Model.Internal.Dependency..ctor(ObjectReader reader)
warn: packman[0]
      There are 2 package sources defined in your configuration. When using central package management, please map your package sources with package source mapping (https://aka.ms/nuget-package-source-mapping) or specify a single package source. The following sources are defined: https://api.nuget.org/v3/index.json, https://teamcity.vvvv.org/guestAuth/app/nuget/feed/_Root/default/v3/index.json
info: packman[0]
      Restoring packages for C:\Program Files\vvvv\vvvv_gamma_8.0-0150-g64abc88e08-win-x64\ROOT.proj...
info: packman[0]
        CACHE https://api.nuget.org/v3/vulnerabilities/index.json
info: packman[0]
        CACHE https://api.nuget.org/v3-vulnerabilities/2026.09.26.05.43.06/vulnerability.base.json
info: packman[0]
        CACHE https://api.nuget.org/v3-vulnerabilities/2026.09.26.05.43.06/2026.09.30.05.43.24/vulnerability.update.json
info: packman[0]
      Writing assets file to disk. Path: C:\Program Files\vvvv\vvvv_gamma_8.0-0150-g64abc88e08-win-x64\data\restore\ROOT\project.assets.json
warn: packman[0]
      There are 2 package sources defined in your configuration. When using central package management, please map your package sources with package source mapping (https://aka.ms/nuget-package-source-mapping) or specify a single package source. The following sources are defined: https://api.nuget.org/v3/index.json, https://teamcity.vvvv.org/guestAuth/app/nuget/feed/_Root/default/v3/index.json
info: packman[0]
      Restoring packages for C:\Program Files\vvvv\vvvv_gamma_8.0-0150-g64abc88e08-win-x64\ROOT.proj...
info: packman[0]
      Writing assets file to disk. Path: C:\Program Files\vvvv\vvvv_gamma_8.0-0150-g64abc88e08-win-x64\data\restore\ROOT\project.assets.json
warn: packman[0]
      Package version mismatch for VL.Core in project .\csharp\DeleteFolders.Utils\DeleteFolders.Utils.csproj. Referenced version: 2025.7.4, Resolved version: 2026.8.0-0150-g64abc88e08. This may lead to runtime errors.
fail: vvvv[0]
      There are build errors.
crit: vvvv[0]
      Unable to load one or more of the requested types.
      Could not load file or assembly 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
      System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
      Could not load file or assembly 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
         at System.Reflection.RuntimeModule.GetDefinedTypes()
         at System.Reflection.RuntimeModule.GetTypes()
         at VL.AppServices.CompilationHelper.SwapAssembly(Assembly assembly, Int32 pass)
         at VL.Model.VLSession.Swap(ITargetCompilation compilation)
         at VL.Model.VLSession.UpdateRuntimesAsync(PreCompilation preCompilation, CancellationToken token, IProgress`1 progress, Boolean incremental)
         at VL.Model.VLSession.UpdateCompilationCoreAsync(Solution solution, CompileOptions options, CancellationToken token, IProgress`1 progress, Boolean incremental)
      System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
      File name: 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
crit: vvvv[0]
      Unable to load one or more of the requested types.
      Could not load file or assembly 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
      System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
      Could not load file or assembly 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
         at System.Reflection.RuntimeModule.GetDefinedTypes()
         at System.Reflection.RuntimeModule.GetTypes()
         at VL.AppServices.CompilationHelper.SwapAssembly(Assembly assembly, Int32 pass)
         at VL.Model.VLSession.Swap(ITargetCompilation compilation)
         at VL.Model.VLSession.UpdateRuntimesAsync(PreCompilation preCompilation, CancellationToken token, IProgress`1 progress, Boolean incremental)
         at VL.Model.VLSession.UpdateCompilationCoreAsync(Solution solution, CompileOptions options, CancellationToken token, IProgress`1 progress, Boolean incremental)
         at Program.ConsoleSession.OnException(ExceptionDispatchInfo exceptionDispatchInfo)
         at VL.Core.AppHost.ReportException(ExceptionDispatchInfo exceptionDispatchInfo)
         at VL.Model.VLSession.UpdateCompilationCoreAsync(Solution solution, CompileOptions options, CancellationToken token, IProgress`1 progress, Boolean incremental)
         at VL.Model.VLSession.UpdateCompilationAsync(Solution solution, CompileOptions options, IProgress`1 progress, Boolean incremental, CancellationToken cancellationToken)
         at VL.Model.VLSession.UpdateAsync(Solution solution, SolutionUpdateKind kind, Canvas canvas, IProgress`1 progress, CancellationToken cancellationToken)
      System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
      File name: 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
Unhandled exception. System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types.
Could not load file or assembly 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
   at System.Reflection.RuntimeModule.GetDefinedTypes()
   at System.Reflection.RuntimeModule.GetTypes()
   at VL.AppServices.CompilationHelper.SwapAssembly(Assembly assembly, Int32 pass)
   at VL.Model.VLSession.Swap(ITargetCompilation compilation)
   at VL.Model.VLSession.UpdateRuntimesAsync(PreCompilation preCompilation, CancellationToken token, IProgress`1 progress, Boolean incremental)
   at VL.Model.VLSession.UpdateCompilationCoreAsync(Solution solution, CompileOptions options, CancellationToken token, IProgress`1 progress, Boolean incremental)
   at Program.ConsoleSession.OnException(ExceptionDispatchInfo exceptionDispatchInfo)
   at VL.Core.AppHost.ReportException(ExceptionDispatchInfo exceptionDispatchInfo)
   at VL.Model.VLSession.UpdateCompilationCoreAsync(Solution solution, CompileOptions options, CancellationToken token, IProgress`1 progress, Boolean incremental)
   at VL.Model.VLSession.UpdateCompilationAsync(Solution solution, CompileOptions options, IProgress`1 progress, Boolean incremental, CancellationToken cancellationToken)
   at VL.Model.VLSession.UpdateAsync(Solution solution, SolutionUpdateKind kind, Canvas canvas, IProgress`1 progress, CancellationToken cancellationToken)
   at Program.ConsoleSession.OnException(ExceptionDispatchInfo exceptionDispatchInfo)
   at VL.Core.AppHost.ReportException(ExceptionDispatchInfo exceptionDispatchInfo)
   at VL.Model.VLSession.UpdateAsync(Solution solution, SolutionUpdateKind kind, Canvas canvas, IProgress`1 progress, CancellationToken cancellationToken)
   at VL.Model.VLSession.AddRootAndLoadSymbolsAsync(Document document, CancellationToken token, IProgress`1 progress)
   at VL.Model.VLSession.LoadDocumentAsync(String filePath, CancellationToken token, IProgress`1 progress)
   at Program.<>c__DisplayClass0_0.<<Main>g__GenerateExecutableAsync|1>d.MoveNext()
--- End of stack trace from previous location ---
   at Program.Main(String[] args)
   at Program.<Main>(String[] args)
System.IO.FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified.
File name: 'System.Windows.Forms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'