diff --git a/.gitignore b/.gitignore
index 522a225f4d9..4de66ab2818 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,12 +2,16 @@
###################
*.com
*.class
-*.dll
+
*.exe
*.msi
*.o
*.so
-bin/
+AnyCPU/
+Debug/
+Release/
+originalBinaries/
+runtimeGeneratedExtension/
obj/
int/
packages/
@@ -96,6 +100,7 @@ src/AssemblySharedInfoGenerator/AssemblySharedInfo.cs
/src/Libraries/PythonNodeModelsWpf/*.resources
/src/Libraries/PythonNodeModels/*.resources
/test/core/dsevaluation/DSFiles/test.ds
+/test/test_dependencies
GregStandaloneAuth.dll
/src/Libraries/Watch3DNodeModels/*.resources
*.resources
diff --git a/extern/TuneUp/TuneUp.dll b/extern/TuneUp/TuneUp.dll
deleted file mode 100644
index 6cd15388f0c..00000000000
Binary files a/extern/TuneUp/TuneUp.dll and /dev/null differ
diff --git a/extern/TuneUp/bin/TuneUp.dll b/extern/TuneUp/bin/TuneUp.dll
new file mode 100644
index 00000000000..13afb800446
Binary files /dev/null and b/extern/TuneUp/bin/TuneUp.dll differ
diff --git a/extern/TuneUp/TuneUp_ViewExtensionDefinition.xml b/extern/TuneUp/extra/TuneUp_ViewExtensionDefinition.xml
similarity index 62%
rename from extern/TuneUp/TuneUp_ViewExtensionDefinition.xml
rename to extern/TuneUp/extra/TuneUp_ViewExtensionDefinition.xml
index 111ed9dfec7..d2d10090c56 100644
--- a/extern/TuneUp/TuneUp_ViewExtensionDefinition.xml
+++ b/extern/TuneUp/extra/TuneUp_ViewExtensionDefinition.xml
@@ -1,4 +1,4 @@
- ..\Built-In Packages\TuneUp.dll
+ ..\bin\TuneUp.dll
TuneUp.TuneUpViewExtension
\ No newline at end of file
diff --git a/extern/TuneUp/pkg.json b/extern/TuneUp/pkg.json
new file mode 100644
index 00000000000..b4df6c6dbdc
--- /dev/null
+++ b/extern/TuneUp/pkg.json
@@ -0,0 +1,24 @@
+{
+ "license": "MIT",
+ "file_hash": null,
+ "name": "TuneUp",
+ "version": "1.0.13",
+ "description": "On Dynamo 2.5–2.19 (.NET 4.8), use TuneUp versions up to 1.0.7.\r\nOn Dynamo 3.0+ (.NET 8), use TuneUp versions 1.0.8 and later.\r\n\r\nTuneUp is a view extension for analyzing the performance of Dynamo graphs. TuneUp allows you to see overall graph execution time, per-node execution time, execution time of groups, and other helpful information. With TuneUp, you can rerun all nodes, including ones that are normally skipped for optimization/caching during repeated runs of a graph. This enables you to compare the actual execution times between multiple runs. Read more here: https://dynamobim.org/tuneup-extension-explore-your-node-and-graph-execution-times/. \r\n\r\nKnown issues:\r\n1. TuneUp does not work in a custom node workspace.\r\n2. TuneUp does not work in a custom node workspace.",
+ "group": "",
+ "keywords": [
+ "profiler",
+ "tuneup"
+ ],
+ "dependencies": [],
+ "host_dependencies": [],
+ "contents": "",
+ "engine_version": "3.0.0.7186",
+ "engine": "dynamo",
+ "engine_metadata": "",
+ "site_url": "https://dynamobim.org/",
+ "repository_url": "https://github.com/DynamoDS/TuneUp",
+ "contains_binaries": true,
+ "node_libraries": [],
+ "copyright_holder": "DynamoTeam",
+ "copyright_year": "2024"
+}
\ No newline at end of file
diff --git a/src/DynamoCore/Models/DynamoModel.cs b/src/DynamoCore/Models/DynamoModel.cs
index e05a1dadf02..1914c756cc0 100644
--- a/src/DynamoCore/Models/DynamoModel.cs
+++ b/src/DynamoCore/Models/DynamoModel.cs
@@ -930,6 +930,7 @@ protected DynamoModel(IStartConfiguration config)
if (extensions.Any())
{
+ Logger.Log("\nLoading Dynamo extensions:");
var startupParams = new StartupParams(this);
foreach (var ext in extensions)
diff --git a/src/DynamoCoreWpf/DynamoCoreWpf.csproj b/src/DynamoCoreWpf/DynamoCoreWpf.csproj
index 29eed082f38..736b4031223 100644
--- a/src/DynamoCoreWpf/DynamoCoreWpf.csproj
+++ b/src/DynamoCoreWpf/DynamoCoreWpf.csproj
@@ -1857,11 +1857,9 @@
-
-
+
-
-
+
diff --git a/src/DynamoPackages/PackageLoader.cs b/src/DynamoPackages/PackageLoader.cs
index 68a963adddd..e880fe2549c 100644
--- a/src/DynamoPackages/PackageLoader.cs
+++ b/src/DynamoPackages/PackageLoader.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Reflection;
@@ -247,7 +248,8 @@ private void TryLoadPackageIntoLibrary(Package package)
// load custom nodes
var packageInfo = new Graph.Workspaces.PackageInfo(package.Name, new Version(package.VersionName));
- var customNodes = OnRequestLoadCustomNodeDirectory(package.CustomNodeDirectory, packageInfo);
+ // skip loding if the CustomNodeDirectory does not exist
+ var customNodes = Directory.Exists(package.CustomNodeDirectory)? OnRequestLoadCustomNodeDirectory(package.CustomNodeDirectory, packageInfo) : [];
package.LoadedCustomNodes.AddRange(customNodes);
package.EnumerateAdditionalFiles();
@@ -643,16 +645,8 @@ private Version CheckAndGetPackageVersion(string version, string name, string di
///
/// path to package location
/// package object to check
- private void CheckPackageNodeLibraryCertificates(string packageDirectoryPath, Package discoveredPkg)
+ private static void CheckPackageNodeLibraryCertificates(string packageDirectoryPath, Package discoveredPkg)
{
- var dllfiles = new System.IO.DirectoryInfo(discoveredPkg.BinaryDirectory).EnumerateFiles("*.dll");
- if (discoveredPkg.Header.node_libraries.Count() == 0 && dllfiles.Count() != 0)
- {
- Log(String.Format(
- String.Format(Resources.InvalidPackageNoNodeLibrariesDefinedInPackageJson,
- discoveredPkg.Name, discoveredPkg.RootDirectory)));
- }
-
foreach (var nodeLibraryAssembly in discoveredPkg.Header.node_libraries)
{
diff --git a/src/DynamoPackages/Properties/Resources.Designer.cs b/src/DynamoPackages/Properties/Resources.Designer.cs
index 01e80ea776c..44c2d96fe09 100644
--- a/src/DynamoPackages/Properties/Resources.Designer.cs
+++ b/src/DynamoPackages/Properties/Resources.Designer.cs
@@ -1,4 +1,4 @@
-//------------------------------------------------------------------------------
+//------------------------------------------------------------------------------
//
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
@@ -19,7 +19,7 @@ namespace DynamoPackages.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
@@ -105,15 +105,6 @@ public static string InvalidPackageNodeLibraryIsNotSigned {
}
}
- ///
- /// Looks up a localized string similar to A package called {0} found at {1} includes dll files but none are defined in node libraries in the package manifest. Ignoring it..
- ///
- public static string InvalidPackageNoNodeLibrariesDefinedInPackageJson {
- get {
- return ResourceManager.GetString("InvalidPackageNoNodeLibrariesDefinedInPackageJson", resourceCulture);
- }
- }
-
///
/// Looks up a localized string similar to {0} was not scanned for packages because a preference setting disabled loading from that location.".
///
diff --git a/src/DynamoPackages/Properties/Resources.en-US.resx b/src/DynamoPackages/Properties/Resources.en-US.resx
index 68931e86a17..36b2910a0d1 100644
--- a/src/DynamoPackages/Properties/Resources.en-US.resx
+++ b/src/DynamoPackages/Properties/Resources.en-US.resx
@@ -1,4 +1,4 @@
-
+