Skip to content
\n
\n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n
if (_scriptTypes.TryGetValue(key, out Tuple<string, Type> scriptType))
{
Log.Message(Log.Level.Warning, \"The script name \", type.FullName, \" already exists and was loaded from \", Path.GetFileName(scriptType.Item1), \". Ignoring occurrence loaded from \", Path.GetFileName(filename), \".\");
continue; // Skip types that were already added previously are ignored
}
\n
\n
\n

\n

Some of the differences between placing .cs or .vb files and placing .dll files are like this;

\n\n

Script devs wouldn't be able to have their scripts achieve what they want to as a single .cs or .vb file when they want to do something advanced, but providing scripts as built .dll files can have more options to do.

","upvoteCount":0,"url":"https://GitHub.com/scripthookvdotnet/scripthookvdotnet/discussions/1471#discussioncomment-10039179"}}}

.dll vs .cs scripts #1471

Answered by kagikn
Michael21107 asked this question in Q&A
Jul 12, 2024 · 1 comments · 3 replies
Discussion options

You must be logged in to vote

Well, when there are multiple assemblies that has the same name and version (not the API version!), SHVDN skips some of them but how SHVDN skips such ones is not defined as a public documentation. Script format doesn't matter, can happen with any of .cs, .vb, and .dll files.

if (_scriptTypes.TryGetValue(key, out Tuple<string, Type> scriptType))
{
Log.Message(Log.Level.Warning, "The script name ", type.FullName, " already exists and was loaded from ", Path.GetFileName(scriptType.Item1), ". Ignoring occurrence loaded from ", Path.GetFileName(filename), ".");
continue; // Skip types that were…

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@Michael21107
Comment options

@kagikn
Comment options

Answer selected by Michael21107
@Michael21107
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants