我滴个乖乖
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
namespace ZelWiki.Engine.Function.Exceptions
|
||||
{
|
||||
public class WikiFunctionPrototypeNotDefinedException : Exception
|
||||
{
|
||||
public WikiFunctionPrototypeNotDefinedException()
|
||||
{
|
||||
}
|
||||
|
||||
public WikiFunctionPrototypeNotDefinedException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
namespace ZelWiki.Engine.Function.Exceptions
|
||||
{
|
||||
public class WikiFunctionPrototypeSyntaxError : Exception
|
||||
{
|
||||
public WikiFunctionPrototypeSyntaxError()
|
||||
{
|
||||
}
|
||||
|
||||
public WikiFunctionPrototypeSyntaxError(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
210
ZelWiki.Engine.Function/FunctionCall.cs
Normal file
210
ZelWiki.Engine.Function/FunctionCall.cs
Normal file
@@ -0,0 +1,210 @@
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
/// <summary>
|
||||
/// Contains information about an actual function call, its supplied parameters, and is matched with a defined function.
|
||||
/// </summary>
|
||||
public class FunctionCall
|
||||
{
|
||||
/// <summary>
|
||||
/// The name of the function being called.
|
||||
/// </summary>
|
||||
public string Name { get; private set; }
|
||||
public FunctionPrototype Prototype { get; set; }
|
||||
/// <summary>
|
||||
/// The arguments supplied by the caller.
|
||||
/// </summary>
|
||||
public FunctionParameters Parameters { get; private set; }
|
||||
|
||||
public FunctionCall(FunctionPrototype prototype, List<string> args)
|
||||
{
|
||||
Prototype = prototype;
|
||||
Parameters = new FunctionParameters(this);
|
||||
Name = prototype.FunctionName;
|
||||
|
||||
foreach (var arg in args)
|
||||
{
|
||||
if (arg.StartsWith(':') && arg.Contains('='))
|
||||
{
|
||||
var parsed = arg.Substring(1); //Skip the colon.
|
||||
int index = parsed.IndexOf('=');
|
||||
var name = parsed.Substring(0, index).Trim().ToLower();
|
||||
var value = parsed.Substring(index + 1).Trim();
|
||||
|
||||
Parameters.Named.Add(new NamedParameter(name, value));
|
||||
}
|
||||
else
|
||||
{
|
||||
Parameters.Ordinals.Add(new OrdinalParameter(arg));
|
||||
}
|
||||
}
|
||||
|
||||
ApplyPrototype();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks the passed value against the function prototype to ensure that the variable is the correct type, value, etc.
|
||||
/// </summary>
|
||||
/// <param name="segment"></param>
|
||||
/// <param name="value"></param>
|
||||
/// <exception cref="Exception"></exception>
|
||||
private void EnforcePrototypeParamValue(PrototypeParameter param, string value)
|
||||
{
|
||||
if (param.Type == "bool")
|
||||
{
|
||||
if (bool.TryParse(value, out bool _) == false)
|
||||
{
|
||||
throw new Exception($"Function [{Name}], the value [{value}] passed to parameter [{param.Name}] could not be converted to boolean.");
|
||||
}
|
||||
}
|
||||
if (param.Type == "integer")
|
||||
{
|
||||
if (int.TryParse(value, out int _) == false)
|
||||
{
|
||||
throw new Exception($"Function [{Name}], the value [{value}] passed to parameter [{param.Name}] could not be converted to integer.");
|
||||
}
|
||||
}
|
||||
else if (param.Type == "float")
|
||||
{
|
||||
if (double.TryParse(value, out double _) == false)
|
||||
{
|
||||
throw new Exception($"Function [{Name}], the value [{value}] passed to parameter [{param.Name}] could not be converted to float.");
|
||||
}
|
||||
}
|
||||
|
||||
if (param.AllowedValues != null && param.AllowedValues.Count > 0)
|
||||
{
|
||||
if (param.AllowedValues.Contains(value.ToLower()) == false)
|
||||
{
|
||||
throw new Exception($"Function [{Name}], the value [{value}] passed to parameter [{param.Name}] is not allowed. Allowed values are [{string.Join(",", param.AllowedValues)}].");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Rolls through the supplied arguments and applies them to the prototype. Also identifies which supplied arguments are associated with each
|
||||
/// prototype argument and adds the ordinal based arguments to the name based collection. Ensures that each argument conforms with the prototype.
|
||||
/// </summary>
|
||||
/// <exception cref="Exception"></exception>
|
||||
private void ApplyPrototype()
|
||||
{
|
||||
int index = 0;
|
||||
|
||||
//Keep a list of the arguments as they are associated with the prototype so that we can later reference them by name.
|
||||
var namedToAddLater = new List<NamedParameter>();
|
||||
|
||||
//Handle non-infinite ordinal based required parameters:
|
||||
for (; index < Prototype.Parameters.Count; index++)
|
||||
{
|
||||
var param = Prototype.Parameters[index];
|
||||
|
||||
if (param.IsRequired == false)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if (param.IsInfinite == true)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (Parameters.Ordinals.Count > index)
|
||||
{
|
||||
//Good, we have a value.
|
||||
string value = Parameters.Ordinals[index].Value;
|
||||
Parameters.Ordinals[index].AssociateWithPrototypeParam(param.Name);
|
||||
EnforcePrototypeParamValue(param, value.ToLower());
|
||||
|
||||
namedToAddLater.Add(new NamedParameter(param.Name, value));
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception($"Function [{Name}], the required parameter [{param.Name}] was not specified.");
|
||||
}
|
||||
}
|
||||
|
||||
bool hasEncounteredOptionalParameter = false;
|
||||
|
||||
//Handle remaining optional parameters:
|
||||
for (; index < Prototype.Parameters.Count; index++)
|
||||
{
|
||||
var param = Prototype.Parameters[index];
|
||||
|
||||
if (param.IsInfinite == true)
|
||||
{
|
||||
if (param.IsRequired == true)
|
||||
{
|
||||
//Make sure we have at least one of these required infinite parameters passed.
|
||||
if (Parameters.Ordinals.Count > index)
|
||||
{
|
||||
//Good, we have a value.
|
||||
string value = Parameters.Ordinals[index].Value;
|
||||
Parameters.Ordinals[index].AssociateWithPrototypeParam(param.Name);
|
||||
EnforcePrototypeParamValue(param, value.ToLower());
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception($"Function [{Name}], the required infinite parameter [{param.Name}] was not passed.");
|
||||
}
|
||||
}
|
||||
|
||||
//Now that we have encountered an infinite parameter, it will swallow up all other ordinal based arguments. Might as well check the types and exit the loop.
|
||||
for (; index < Parameters.Ordinals.Count; index++)
|
||||
{
|
||||
string value = Parameters.Ordinals[index].Value;
|
||||
Parameters.Ordinals[index].AssociateWithPrototypeParam(param.Name);
|
||||
EnforcePrototypeParamValue(param, value.ToLower());
|
||||
namedToAddLater.Add(new NamedParameter(param.Name, value));
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if (param.IsRequired == false)
|
||||
{
|
||||
hasEncounteredOptionalParameter = true;
|
||||
}
|
||||
|
||||
if (param.IsRequired == true && hasEncounteredOptionalParameter)
|
||||
{
|
||||
throw new Exception($"Function [{Name}], the required parameter [{param.Name}] was found after other optional parameters.");
|
||||
}
|
||||
else if (param.IsInfinite == true)
|
||||
{
|
||||
throw new Exception($"Function [{Name}], encountered an unexpected number of infinite parameters in prototype for [{param.Name}].");
|
||||
}
|
||||
|
||||
if (Parameters.Ordinals.Count > index)
|
||||
{
|
||||
string value = Parameters.Ordinals[index].Value;
|
||||
Parameters.Ordinals[index].AssociateWithPrototypeParam(param.Name);
|
||||
EnforcePrototypeParamValue(param, value.ToLower());
|
||||
namedToAddLater.Add(new NamedParameter(param.Name, value));
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var named in Parameters.Named)
|
||||
{
|
||||
var param = Prototype.Parameters.Where(o => o.Name.Equals(named.Name, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault()
|
||||
?? throw new Exception($"Function [{Name}], the named parameter [{named.Name}] is not defined in the function prototype.");
|
||||
|
||||
EnforcePrototypeParamValue(param, named.Value);
|
||||
}
|
||||
|
||||
Parameters.Named.AddRange(namedToAddLater);
|
||||
|
||||
var unmatchedParams = Parameters.Ordinals.Where(o => o.IsMatched == false).ToList();
|
||||
if (unmatchedParams.Count != 0)
|
||||
{
|
||||
throw new Exception($"Function [{Name}], unmatched parameter value [{unmatchedParams.First().Value}].");
|
||||
}
|
||||
|
||||
var nonInfiniteParams = Prototype.Parameters.Where(o => o.IsInfinite == false).Select(o => o.Name.ToLower());
|
||||
var groups = Parameters.Named.Where(o => nonInfiniteParams.Contains(o.Name.ToLower())).GroupBy(o => o.Name.ToLower()).Where(o => o.Count() > 1);
|
||||
|
||||
if (groups.Any())
|
||||
{
|
||||
var group = groups.First();
|
||||
throw new Exception($"Function [{Name}], non-infinite parameter specified more than once: [{group.Key}].");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
75
ZelWiki.Engine.Function/FunctionParameters.cs
Normal file
75
ZelWiki.Engine.Function/FunctionParameters.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using NTDLS.Helpers;
|
||||
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
public class FunctionParameters
|
||||
{
|
||||
/// <summary>
|
||||
/// Variables set by ordinal.
|
||||
/// </summary>
|
||||
public List<OrdinalParameter> Ordinals { get; set; } = new();
|
||||
/// <summary>
|
||||
/// Variables set by name.
|
||||
/// </summary>
|
||||
public List<NamedParameter> Named { get; private set; } = new();
|
||||
|
||||
private readonly FunctionCall _owner;
|
||||
|
||||
public FunctionParameters(FunctionCall owner)
|
||||
{
|
||||
_owner = owner;
|
||||
}
|
||||
|
||||
public T Get<T>(string name)
|
||||
{
|
||||
try
|
||||
{
|
||||
var value = Named.Where(o => o.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault()?.Value;
|
||||
if (value == null)
|
||||
{
|
||||
var prototype = _owner.Prototype.Parameters.Where(o => o.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)).First();
|
||||
return Converters.ConvertTo<T>(prototype.DefaultValue) ?? throw new Exception("Value cannot be null");
|
||||
}
|
||||
|
||||
return Converters.ConvertTo<T>(value) ?? throw new Exception("Value cannot be null");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception($"Function [{_owner.Name}], {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
public T Get<T>(string name, T defaultValue)
|
||||
{
|
||||
try
|
||||
{
|
||||
var value = Named.Where(o => o.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault()?.Value;
|
||||
if (value == null)
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
|
||||
return Converters.ConvertTo<T>(value) ?? throw new Exception("Value cannot be null");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception($"Function [{_owner.Name}], {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
public List<T> GetList<T>(string name)
|
||||
{
|
||||
try
|
||||
{
|
||||
var values = Named.Where(o => o.Name.Equals(name, StringComparison.InvariantCultureIgnoreCase))?
|
||||
.Select(o => Converters.ConvertTo<T>(o.Value) ?? throw new Exception("Value cannot be null"))?.ToList();
|
||||
|
||||
return values ?? new List<T>();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception($"Function [{_owner.Name}], {ex.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
220
ZelWiki.Engine.Function/FunctionParser.cs
Normal file
220
ZelWiki.Engine.Function/FunctionParser.cs
Normal file
@@ -0,0 +1,220 @@
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using ZelWiki.Engine.Function.Exceptions;
|
||||
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
public static partial class FunctionParser
|
||||
{
|
||||
[GeneratedRegex(@"(##|{{|@@)([a-zA-Z_\s{][a-zA-Z0-9_\s{]*)\(((?<BR>\()|(?<-BR>\))|[^()]*)+\)")]
|
||||
private static partial Regex FunctionCallParser();
|
||||
|
||||
/// <summary>
|
||||
/// Parsed a function call, its parameters and matches it to a defined function and its prototype.
|
||||
/// </summary>
|
||||
/// <param name="functionCall"></param>
|
||||
/// <param name="parseEndIndex"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
public static FunctionCall ParseAndGetFunctionCall(FunctionPrototypeCollection prototypes, string functionCall, out int parseEndIndex)
|
||||
{
|
||||
var rawArguments = new List<string>();
|
||||
|
||||
var parsed = ParseFunctionCall(prototypes, functionCall);
|
||||
|
||||
var prototype = prototypes.Get(parsed.Prefix, parsed.Name);
|
||||
if (prototype == null)
|
||||
{
|
||||
throw new WikiFunctionPrototypeNotDefinedException($"Function ({parsed.Name}) does not have a defined prototype.");
|
||||
}
|
||||
|
||||
parseEndIndex = parsed.EndIndex;
|
||||
|
||||
return new FunctionCall(prototype, parsed.RawArguments);
|
||||
}
|
||||
|
||||
public static ParsedFunctionCall ParseFunctionCall(FunctionPrototypeCollection prototypes, string functionCall)
|
||||
{
|
||||
string functionName = string.Empty;
|
||||
int parseEndIndex = 0;
|
||||
var rawArguments = new List<string>();
|
||||
|
||||
var firstLine = functionCall.Split('\n')?.FirstOrDefault();
|
||||
|
||||
if (firstLine == null || firstLine.Where(x => x == '(').Count() != firstLine.Where(x => x == ')').Count())
|
||||
{
|
||||
throw new WikiFunctionPrototypeSyntaxError($"Function parentheses mismatch.");
|
||||
}
|
||||
|
||||
string functionPrefix = functionCall.Substring(0, 2);
|
||||
|
||||
var parameterMatches = FunctionCallParser().Matches(firstLine);
|
||||
if (parameterMatches.Count > 0)
|
||||
{
|
||||
var match = parameterMatches[0];
|
||||
int paramStartIndex = match.Value.IndexOf('(');
|
||||
|
||||
functionName = match.Value[..paramStartIndex].ToLower().TrimStart(['{', '#', '@']).Trim();
|
||||
parseEndIndex = match.Index + match.Length;
|
||||
|
||||
string rawArgTrimmed = match.ToString().Substring(paramStartIndex, (match.ToString().Length - paramStartIndex));
|
||||
rawArguments = ParseRawArguments(rawArgTrimmed);
|
||||
}
|
||||
else //The function call has no parameters.
|
||||
{
|
||||
int endOfLine = functionCall.Substring(2).TakeWhile(c => char.IsLetterOrDigit(c)).Count(); //Find the first non-alphanumeric after the function identifier (##, @@, etc).
|
||||
functionName = functionCall.Substring(2, endOfLine).ToLower().TrimStart(['{', '#', '@']).Trim();
|
||||
parseEndIndex = endOfLine + 2;
|
||||
}
|
||||
|
||||
return new ParsedFunctionCall(functionPrefix, functionName, parseEndIndex, rawArguments);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Parses function parameters into a list of arguments based on comma separation.
|
||||
/// String do not need to be enclosed in double-quotes unless they contain commas.
|
||||
/// </summary>
|
||||
/// <param name="paramString"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
public static List<string> ParseRawArgumentsAddParenthesis(string paramString)
|
||||
{
|
||||
if (paramString.StartsWith('(') || paramString.EndsWith(')'))
|
||||
{
|
||||
throw new WikiFunctionPrototypeSyntaxError($"Unexpected '(' or ')'.");
|
||||
}
|
||||
|
||||
return ParseRawArguments($"({paramString})");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Parses function parameters into a list of arguments based on comma separation.
|
||||
/// String do not need to be enclosed in double-quotes unless they contain commas.
|
||||
/// </summary>
|
||||
/// <param name="paramString"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="Exception"></exception>
|
||||
public static List<string> ParseRawArguments(string paramString)
|
||||
{
|
||||
List<string> ps = new();
|
||||
|
||||
int readPos = 0;
|
||||
|
||||
var singleParam = new StringBuilder();
|
||||
|
||||
if (paramString[readPos] != '(')
|
||||
{
|
||||
throw new WikiFunctionPrototypeSyntaxError($"Expected '('.");
|
||||
}
|
||||
|
||||
int parenNest = 1;
|
||||
|
||||
readPos++; //Skip the (
|
||||
|
||||
while (readPos < paramString.Length && char.IsWhiteSpace(paramString[readPos])) readPos++;
|
||||
|
||||
while (true)
|
||||
{
|
||||
if (paramString[readPos] == '(')
|
||||
{
|
||||
parenNest++;
|
||||
}
|
||||
else if (paramString[readPos] == ')')
|
||||
{
|
||||
parenNest--;
|
||||
}
|
||||
|
||||
if (readPos == paramString.Length)
|
||||
{
|
||||
throw new WikiFunctionPrototypeSyntaxError($"Expected ')'.");
|
||||
}
|
||||
else if (paramString[readPos] == ')' && parenNest == 0)
|
||||
{
|
||||
readPos++; //Skip the )
|
||||
|
||||
if (parenNest == 0 && readPos != paramString.Length)
|
||||
{
|
||||
throw new WikiFunctionPrototypeSyntaxError($"Expected end of statement.");
|
||||
}
|
||||
|
||||
if (singleParam.Length > 0)
|
||||
{
|
||||
ps.Add(singleParam.ToString());
|
||||
}
|
||||
singleParam.Clear();
|
||||
|
||||
if (parenNest == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (paramString[readPos] == '\"')
|
||||
{
|
||||
readPos++; //Skip the ".
|
||||
|
||||
bool escapeChar = false;
|
||||
for (; ; readPos++)
|
||||
{
|
||||
if (readPos == paramString.Length)
|
||||
{
|
||||
throw new WikiFunctionPrototypeSyntaxError($"Expected end of string.");
|
||||
}
|
||||
else if (paramString[readPos] == '\\')
|
||||
{
|
||||
escapeChar = true;
|
||||
continue;
|
||||
}
|
||||
else if (paramString[readPos] == '\"' && escapeChar == false)
|
||||
{
|
||||
//Found the end of the string:
|
||||
readPos++; //Skip the ".
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
singleParam.Append(paramString[readPos]);
|
||||
}
|
||||
escapeChar = false;
|
||||
}
|
||||
|
||||
while (readPos < paramString.Length && char.IsWhiteSpace(paramString[readPos])) readPos++;
|
||||
}
|
||||
else if (paramString[readPos] == ',')
|
||||
{
|
||||
readPos++; //Skip the ,
|
||||
while (readPos < paramString.Length && char.IsWhiteSpace(paramString[readPos])) readPos++;
|
||||
|
||||
ps.Add(singleParam.ToString());
|
||||
singleParam.Clear();
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
singleParam.Append(paramString[readPos]);
|
||||
|
||||
if (paramString[readPos] == '(')
|
||||
{
|
||||
readPos++;
|
||||
while (readPos < paramString.Length && char.IsWhiteSpace(paramString[readPos])) readPos++;
|
||||
}
|
||||
else if (paramString[readPos] == ')')
|
||||
{
|
||||
readPos++;
|
||||
while (readPos < paramString.Length && char.IsWhiteSpace(paramString[readPos])) readPos++;
|
||||
}
|
||||
else
|
||||
{
|
||||
readPos++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < ps.Count; i++)
|
||||
{
|
||||
ps[i] = ps[i].Trim();
|
||||
}
|
||||
|
||||
return ps;
|
||||
}
|
||||
}
|
||||
}
|
||||
15
ZelWiki.Engine.Function/FunctionPrototype.cs
Normal file
15
ZelWiki.Engine.Function/FunctionPrototype.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
public class FunctionPrototype
|
||||
{
|
||||
public string FunctionPrefix { get; set; } = string.Empty;
|
||||
public string ProperName { get; set; } = string.Empty;
|
||||
public string FunctionName { get; set; } = string.Empty;
|
||||
public List<PrototypeParameter> Parameters { get; set; }
|
||||
|
||||
public FunctionPrototype()
|
||||
{
|
||||
Parameters = new List<PrototypeParameter>();
|
||||
}
|
||||
}
|
||||
}
|
||||
207
ZelWiki.Engine.Function/FunctionPrototypeCollection.cs
Normal file
207
ZelWiki.Engine.Function/FunctionPrototypeCollection.cs
Normal file
@@ -0,0 +1,207 @@
|
||||
using ZelWiki.Engine.Function.Exceptions;
|
||||
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
public class FunctionPrototypeCollection
|
||||
{
|
||||
public enum WikiFunctionType
|
||||
{
|
||||
Standard,
|
||||
Scoped,
|
||||
Instruction
|
||||
}
|
||||
|
||||
public WikiFunctionType FunctionTypes { get; private set; }
|
||||
public List<PrototypeSet> Items { get; set; } = new();
|
||||
|
||||
public FunctionPrototypeCollection(WikiFunctionType functionTypes)
|
||||
{
|
||||
FunctionTypes = functionTypes;
|
||||
}
|
||||
|
||||
public void Add(string prototypeString)
|
||||
{
|
||||
var prototype = ParsePrototype(prototypeString);
|
||||
|
||||
Items.Add(new PrototypeSet()
|
||||
{
|
||||
FunctionPrefix = prototype.FunctionPrefix,
|
||||
ProperName = prototype.ProperName,
|
||||
FunctionName = prototype.FunctionName.ToLower(),
|
||||
Value = prototype
|
||||
});
|
||||
}
|
||||
|
||||
public bool Exists(string functionPrefix, string functionName)
|
||||
{
|
||||
functionName = functionName.ToLower();
|
||||
|
||||
//$$ are scope functions and are not called by prefix, we only have prefixes to make it easier to parse
|
||||
// the functions in the wikiText and scope functions are easy enough since they start with curly braces.
|
||||
return Items.Any(o => (o.FunctionPrefix == functionPrefix || o.FunctionPrefix == "$$") && o.FunctionName == functionName);
|
||||
}
|
||||
|
||||
public FunctionPrototype Get(string functionPrefix, string functionName)
|
||||
{
|
||||
functionName = functionName.ToLower();
|
||||
|
||||
//$$ are scope functions and are not called by prefix, we only have prefixes to make it easier to parse
|
||||
// the functions in the wikiText and scope functions are easy enough since they start with curly braces.
|
||||
var functionPrototype = Items.Where(o => (o.FunctionPrefix == functionPrefix || o.FunctionPrefix == "$$") && o.FunctionName == functionName).FirstOrDefault()?.Value;
|
||||
|
||||
return functionPrototype
|
||||
?? throw new WikiFunctionPrototypeNotDefinedException($"Function ({functionName}) does not have a defined prototype.");
|
||||
}
|
||||
|
||||
private FunctionPrototype ParsePrototype(string prototypeString)
|
||||
{
|
||||
int nameStartIndex = prototypeString.TakeWhile(c => char.IsLetterOrDigit(c) == false).Count();
|
||||
int nameEndIndex = prototypeString.IndexOf(':');
|
||||
string properName = prototypeString.Substring(nameStartIndex, nameEndIndex - nameStartIndex).Trim();
|
||||
string functionName = properName.ToLower();
|
||||
string functionPrefix = prototypeString.Substring(0, nameStartIndex).Trim();
|
||||
|
||||
prototypeString = prototypeString.Substring(nameEndIndex + 1).Trim();
|
||||
|
||||
var prototype = new FunctionPrototype() { FunctionPrefix = functionPrefix, ProperName = properName, FunctionName = functionName };
|
||||
|
||||
if (prototypeString.Length == 0)
|
||||
{
|
||||
//No parameters.
|
||||
return prototype;
|
||||
}
|
||||
|
||||
var segments = prototypeString.Trim().Split('|').Select(o => o.Trim());
|
||||
|
||||
foreach (var segment in segments)
|
||||
{
|
||||
var prototypeSegment = new PrototypeParameter();
|
||||
|
||||
int index = 0;
|
||||
|
||||
if (segment[index] == '<')
|
||||
{
|
||||
index++; //Skip the '<'
|
||||
prototypeSegment.Type = Tok(segment, ref index);
|
||||
index++; //Skip the '>'
|
||||
|
||||
if (prototypeSegment.Type.Contains(':'))
|
||||
{
|
||||
var splitSeg = prototypeSegment.Type.Split(':');
|
||||
prototypeSegment.Type = splitSeg[0];
|
||||
if (splitSeg[1].Equals("infinite", StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
prototypeSegment.IsInfinite = true;
|
||||
if (prototype.Parameters.Any(o => o.IsInfinite))
|
||||
{
|
||||
throw new Exception($"Function [{functionName}], prototype error: cannot contain more than one [infinite] parameter.");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception($"Function [{functionName}], prototype error: expected [infinite] got [{splitSeg[1]}].");
|
||||
}
|
||||
}
|
||||
|
||||
SkipWhiteSpace(segment, ref index);
|
||||
|
||||
if (index < segment.Length && segment[index] == '{' || segment[index] == '[')
|
||||
{
|
||||
if (index < segment.Length && segment[index] == '[')
|
||||
{
|
||||
prototypeSegment.IsRequired = true;
|
||||
}
|
||||
|
||||
index++; //Skip the '[' or '{'
|
||||
|
||||
prototypeSegment.Name = Tok(segment, ref index);
|
||||
|
||||
if (index < segment.Length && segment[index] == '(') //Parse allowed values.
|
||||
{
|
||||
int allowedValueEndIndex = segment.IndexOf(')', index);
|
||||
string roteRequiredValues = segment.Substring(index + 1, allowedValueEndIndex - index - 1);
|
||||
prototypeSegment.AllowedValues = roteRequiredValues.Trim().Split(',').Select(o => o.Trim().ToLower()).ToList();
|
||||
|
||||
index = allowedValueEndIndex;
|
||||
index++; //Skip the ')'
|
||||
SkipWhiteSpace(segment, ref index);
|
||||
}
|
||||
|
||||
index++; //Skip the ']' or '}'
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception($"Function [{functionName}], prototype error: expected [{{] or [[].");
|
||||
}
|
||||
|
||||
SkipWhiteSpace(segment, ref index);
|
||||
|
||||
if (index < segment.Length && segment[index] == '=')
|
||||
{
|
||||
index++; //Skip the '='
|
||||
SkipWhiteSpace(segment, ref index);
|
||||
|
||||
if (segment[index] != '\'')
|
||||
{
|
||||
throw new Exception($"Function [{functionName}], prototype error: expected [\'].");
|
||||
}
|
||||
|
||||
index++; //Skip the '''
|
||||
|
||||
prototypeSegment.DefaultValue = segment.Substring(index, (segment.Length - index) - 1);
|
||||
|
||||
index = segment.Length - 1;
|
||||
|
||||
if (index < segment.Length && segment[index] != '\'')
|
||||
{
|
||||
throw new Exception($"Function [{functionName}], prototype error: expected [\'].");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception($"Function [{functionName}], prototype error: expected [<].");
|
||||
}
|
||||
|
||||
prototype.Parameters.Add(prototypeSegment);
|
||||
}
|
||||
|
||||
return prototype;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the next token in a string.
|
||||
/// </summary>
|
||||
/// <param name="str"></param>
|
||||
/// <param name="index"></param>
|
||||
/// <returns></returns>
|
||||
private string Tok(string str, ref int index)
|
||||
{
|
||||
var token = string.Empty;
|
||||
|
||||
SkipWhiteSpace(str, ref index);
|
||||
|
||||
for (; index < str.Length; index++)
|
||||
{
|
||||
if ("<>{}[]()".Contains(str[index]))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
token += str[index];
|
||||
}
|
||||
|
||||
SkipWhiteSpace(str, ref index);
|
||||
|
||||
return token;
|
||||
}
|
||||
|
||||
private static void SkipWhiteSpace(string str, ref int index)
|
||||
{
|
||||
while (index < str.Length && char.IsWhiteSpace(str[index]))
|
||||
{
|
||||
index++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
14
ZelWiki.Engine.Function/NamedParameter.cs
Normal file
14
ZelWiki.Engine.Function/NamedParameter.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
public class NamedParameter
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Value { get; set; }
|
||||
|
||||
public NamedParameter(string name, string value)
|
||||
{
|
||||
Name = name;
|
||||
Value = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
28
ZelWiki.Engine.Function/OrdinalParameter.cs
Normal file
28
ZelWiki.Engine.Function/OrdinalParameter.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
public class OrdinalParameter
|
||||
{
|
||||
public string Value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Has been matched to a prototype parameter?
|
||||
/// </summary>
|
||||
public bool IsMatched { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// If matched to a prototype parameter, this is the name of the parameter.
|
||||
/// </summary>
|
||||
public string ParameterName { get; set; } = string.Empty;
|
||||
|
||||
public OrdinalParameter(string value)
|
||||
{
|
||||
Value = value;
|
||||
}
|
||||
|
||||
public void AssociateWithPrototypeParam(string paramName)
|
||||
{
|
||||
IsMatched = true;
|
||||
ParameterName = paramName;
|
||||
}
|
||||
}
|
||||
}
|
||||
18
ZelWiki.Engine.Function/ParsedFunctionCall.cs
Normal file
18
ZelWiki.Engine.Function/ParsedFunctionCall.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
public class ParsedFunctionCall
|
||||
{
|
||||
public string Prefix { get; set; } = string.Empty;
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public int EndIndex { get; set; }
|
||||
public List<string> RawArguments { get; set; } = new List<string>();
|
||||
|
||||
public ParsedFunctionCall(string prefix, string name, int endIndex, List<string> rawArguments)
|
||||
{
|
||||
Prefix = prefix;
|
||||
Name = name;
|
||||
EndIndex = endIndex;
|
||||
RawArguments = rawArguments;
|
||||
}
|
||||
}
|
||||
}
|
||||
12
ZelWiki.Engine.Function/PrototypeParameter.cs
Normal file
12
ZelWiki.Engine.Function/PrototypeParameter.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
public class PrototypeParameter
|
||||
{
|
||||
public string Type { get; set; } = string.Empty;
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string DefaultValue { get; set; } = string.Empty;
|
||||
public bool IsRequired { get; set; } = false;
|
||||
public bool IsInfinite { get; set; } = false;
|
||||
public List<string> AllowedValues { get; set; } = new();
|
||||
}
|
||||
}
|
||||
10
ZelWiki.Engine.Function/PrototypeSet.cs
Normal file
10
ZelWiki.Engine.Function/PrototypeSet.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
public class PrototypeSet
|
||||
{
|
||||
public string FunctionPrefix { get; set; } = string.Empty;
|
||||
public string ProperName { get; set; } = string.Empty;
|
||||
public string FunctionName { get; set; } = string.Empty;
|
||||
public FunctionPrototype Value { get; set; } = new();
|
||||
}
|
||||
}
|
||||
176
ZelWiki.Engine.Function/SelfDocument.cs
Normal file
176
ZelWiki.Engine.Function/SelfDocument.cs
Normal file
@@ -0,0 +1,176 @@
|
||||
namespace ZelWiki.Engine.Function
|
||||
{
|
||||
public static class SelfDocument
|
||||
{
|
||||
/// <summary>
|
||||
/// Don't ever look at this. :(
|
||||
/// </summary>
|
||||
public static void CreateNotExisting()
|
||||
{
|
||||
/*
|
||||
System.Threading.Thread.Sleep(500);
|
||||
foreach (var item in FunctionPrototypeDefinitions.Collection.Items)
|
||||
{
|
||||
string functionType = "Function";
|
||||
string functionPrefix = item.FunctionPrefix;
|
||||
|
||||
if (item.FunctionPrefix == "##")
|
||||
{
|
||||
functionType = "Standard Function";
|
||||
}
|
||||
if (item.FunctionPrefix == "@@")
|
||||
{
|
||||
functionType = "Instruction Function";
|
||||
}
|
||||
if (item.FunctionPrefix == "$$")
|
||||
{
|
||||
functionType = "Scope Function";
|
||||
functionPrefix = string.Empty;
|
||||
}
|
||||
|
||||
string topic = $"Wiki Help :: {item.ProperName}";
|
||||
|
||||
if (functionType == "Instruction Function")
|
||||
{
|
||||
topic = $"Wiki Help :: {item.ProperName} - Instruction";
|
||||
}
|
||||
|
||||
string navigation = CanonicalNavigation.CleanAndValidate(topic);
|
||||
|
||||
var page = PageRepository.GetPageInfoByNavigation(navigation);
|
||||
if (page == null)
|
||||
{
|
||||
var html = new System.Text.StringBuilder();
|
||||
html.AppendLine("@@draft");
|
||||
html.AppendLine("@@protect(true)");
|
||||
html.AppendLine("##Image(Wiki Help :: Wiki Help/TightWiki Logo.png, 15)");
|
||||
html.AppendLine($"##title ##Tag(Official-Help, Help, Wiki, Official, {functionType})");
|
||||
html.AppendLine("{{Card(Default, Table of Contents) ##toc }}");
|
||||
html.AppendLine("");
|
||||
html.AppendLine("${metaColor = #ee2401}");
|
||||
html.AppendLine("${keywordColor = #318000}");
|
||||
html.AppendLine("${identifierColor = #c6680e}");
|
||||
html.AppendLine("==Overview");
|
||||
html.AppendLine($"The {item.ProperName} {functionType.ToLower()} is !!FILL_IN_THE_BLANK!!");
|
||||
html.AppendLine("");
|
||||
html.AppendLine("");
|
||||
html.AppendLine("==Prototype");
|
||||
html.Append($"##Color(${{keywordColor}}, **#{{ {functionPrefix}{item.ProperName} }}#**)");
|
||||
if ((item.Value.Parameters?.Count ?? 0) == 0)
|
||||
{
|
||||
html.AppendLine("()");
|
||||
}
|
||||
else
|
||||
{
|
||||
html.Append("(");
|
||||
foreach (var p in item.Value.Parameters)
|
||||
{
|
||||
html.Append($"##Color(${{keywordColor}}, {p.Type}{(p.IsInfinite ? ":Infinite" : "")})");
|
||||
if (p.IsRequired)
|
||||
{
|
||||
html.Append($" [##Color(${{identifierColor}}, {p.Name})]");
|
||||
}
|
||||
else
|
||||
{
|
||||
html.Append($" {{##Color(${{identifierColor}}, {p.Name})}}");
|
||||
}
|
||||
html.Append(", ");
|
||||
}
|
||||
html.Length -= 3;
|
||||
html.Append(")");
|
||||
}
|
||||
|
||||
html.AppendLine("");
|
||||
html.AppendLine("");
|
||||
html.AppendLine("");
|
||||
html.AppendLine("===Parameters");
|
||||
html.AppendLine("{{Bullets");
|
||||
|
||||
if (item.Value.Parameters.Count == 0)
|
||||
{
|
||||
html.AppendLine($"None.");
|
||||
}
|
||||
|
||||
foreach (var p in item.Value.Parameters)
|
||||
{
|
||||
html.AppendLine($"**Name:** ##Color(${{identifierColor}}, {p.Name}) ##Color(${{metaColor}}, {(p.IsRequired ? "[Required]" : "{Optional}")})");
|
||||
html.AppendLine($">**Type:** ##Color(${{keywordColor}}, {p.Type}{(p.IsInfinite ? ":Infinite" : "")})");
|
||||
if (string.IsNullOrEmpty(p.DefaultValue) == false)
|
||||
{
|
||||
html.AppendLine($">**Default:** ##Color(${{identifierColor}}, {p.DefaultValue})");
|
||||
}
|
||||
if (p.AllowedValues != null)
|
||||
{
|
||||
html.AppendLine($">**Values:** ##Color(${{identifierColor}}, \"{string.Join(", ", p.AllowedValues)}\")");
|
||||
}
|
||||
html.AppendLine($">**Description:** !!FILL_IN_THE_BLANK!!");
|
||||
}
|
||||
html.AppendLine("}}");
|
||||
html.AppendLine("");
|
||||
|
||||
html.AppendLine("==Examples");
|
||||
html.AppendLine("{{Code(wiki)#{");
|
||||
|
||||
|
||||
if (item.FunctionPrefix == "$$")
|
||||
{
|
||||
html.Append("{{ " + $"{item.ProperName}");
|
||||
if ((item.Value.Parameters?.Count ?? 0) == 0)
|
||||
{
|
||||
html.AppendLine("()");
|
||||
}
|
||||
else
|
||||
{
|
||||
html.AppendLine($"({string.Join(", ", item.Value.Parameters.Select(o => o.Name))})");
|
||||
}
|
||||
|
||||
html.AppendLine("This is the body content of the function scope.");
|
||||
|
||||
html.AppendLine("}}");
|
||||
}
|
||||
else
|
||||
{
|
||||
html.Append($"{item.FunctionPrefix}{item.ProperName}");
|
||||
if ((item.Value.Parameters?.Count ?? 0) == 0)
|
||||
{
|
||||
html.AppendLine("()");
|
||||
}
|
||||
else
|
||||
{
|
||||
html.AppendLine($"({string.Join(", ", item.Value.Parameters.Select(o => o.Name))})");
|
||||
}
|
||||
}
|
||||
|
||||
html.AppendLine("}#}}");
|
||||
html.AppendLine("");
|
||||
|
||||
html.AppendLine("==See Also");
|
||||
html.AppendLine("[[Wiki Help :: Function Calling Convention]]");
|
||||
html.AppendLine("[[Wiki Help :: Scope Function]]");
|
||||
html.AppendLine("[[Wiki Help :: Instruction Function]]");
|
||||
html.AppendLine("[[Wiki Help :: Standard Function]]");
|
||||
html.AppendLine("");
|
||||
html.AppendLine("");
|
||||
|
||||
html.AppendLine("==Related");
|
||||
html.AppendLine("##related");
|
||||
|
||||
page = new Page()
|
||||
{
|
||||
Navigation = navigation,
|
||||
Name = topic,
|
||||
Description = $"Documentation of the built-in {item.ProperName.ToLower()} {functionType.ToLower()} !!FILL_IN_THE_BLANK!!.",
|
||||
CreatedByUserId = 1,
|
||||
CreatedDate = DateTime.UtcNow,
|
||||
ModifiedByUserId = 1,
|
||||
ModifiedDate = DateTime.UtcNow,
|
||||
Body = html.ToString()
|
||||
};
|
||||
|
||||
PageRepository.SavePage(page);
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
18
ZelWiki.Engine.Function/ZelWiki.Engine.Function.csproj
Normal file
18
ZelWiki.Engine.Function/ZelWiki.Engine.Function.csproj
Normal file
@@ -0,0 +1,18 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Version>2.20.1</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'=='Release'">
|
||||
<DebugSymbols>False</DebugSymbols>
|
||||
<DebugType>None</DebugType>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="NTDLS.Helpers" Version="1.3.11" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v9.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v9.0": {
|
||||
"TightWiki.Engine.Function/2.20.1": {
|
||||
"dependencies": {
|
||||
"NTDLS.Helpers": "1.3.11"
|
||||
},
|
||||
"runtime": {
|
||||
"TightWiki.Engine.Function.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Abstractions/9.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Primitives": "9.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Memory/9.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Caching.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.Options": "9.0.0",
|
||||
"Microsoft.Extensions.Primitives": "9.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": {
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/9.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Options/9.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.Primitives": "9.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Options.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/9.0.0": {
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Primitives.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"NTDLS.Helpers/1.3.11": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Caching.Memory": "9.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/NTDLS.Helpers.dll": {
|
||||
"assemblyVersion": "1.3.11.0",
|
||||
"fileVersion": "1.3.11.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"TightWiki.Engine.Function/2.20.1": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Abstractions/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-FPWZAa9c0H4dvOj351iR1jkUIs4u9ykL4Bm592yhjDyO5lCoWd+TMAHx2EMbarzUvCvgjWjJIoC6//Q9kH6YhA==",
|
||||
"path": "microsoft.extensions.caching.abstractions/9.0.0",
|
||||
"hashPath": "microsoft.extensions.caching.abstractions.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Memory/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-zbnPX/JQ0pETRSUG9fNPBvpIq42Aufvs15gGYyNIMhCun9yhmWihz0WgsI7bSDPjxWTKBf8oX/zv6v2uZ3W9OQ==",
|
||||
"path": "microsoft.extensions.caching.memory/9.0.0",
|
||||
"hashPath": "microsoft.extensions.caching.memory.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-+6f2qv2a3dLwd5w6JanPIPs47CxRbnk+ZocMJUhv9NxP88VlOcJYZs9jY+MYSjxvady08bUZn6qgiNh7DadGgg==",
|
||||
"path": "microsoft.extensions.dependencyinjection.abstractions/9.0.0",
|
||||
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-g0UfujELzlLbHoVG8kPKVBaW470Ewi+jnptGS9KUi6jcb+k2StujtK3m26DFSGGwQ/+bVgZfsWqNzlP6YOejvw==",
|
||||
"path": "microsoft.extensions.logging.abstractions/9.0.0",
|
||||
"hashPath": "microsoft.extensions.logging.abstractions.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Options/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-y2146b3jrPI3Q0lokKXdKLpmXqakYbDIPDV6r3M8SqvSf45WwOTzkyfDpxnZXJsJQEpAsAqjUq5Pu8RCJMjubg==",
|
||||
"path": "microsoft.extensions.options/9.0.0",
|
||||
"hashPath": "microsoft.extensions.options.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg==",
|
||||
"path": "microsoft.extensions.primitives/9.0.0",
|
||||
"hashPath": "microsoft.extensions.primitives.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"NTDLS.Helpers/1.3.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-xcNFG2blg5WqnivxXgLHbvxz5L1EYXAhEK+7R1TXQIyuknKG9McAjCp+tr+RZ7PawqXwKeOHkaizNQcSdlv81A==",
|
||||
"path": "ntdls.helpers/1.3.11",
|
||||
"hashPath": "ntdls.helpers.1.3.11.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,151 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v9.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v9.0": {
|
||||
"ZelWiki.Engine.Function/2.20.1": {
|
||||
"dependencies": {
|
||||
"NTDLS.Helpers": "1.3.11"
|
||||
},
|
||||
"runtime": {
|
||||
"ZelWiki.Engine.Function.dll": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Abstractions/9.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Primitives": "9.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Memory/9.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Caching.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.Options": "9.0.0",
|
||||
"Microsoft.Extensions.Primitives": "9.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": {
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/9.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Options/9.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.Primitives": "9.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Options.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/9.0.0": {
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Primitives.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.24.52809"
|
||||
}
|
||||
}
|
||||
},
|
||||
"NTDLS.Helpers/1.3.11": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Caching.Memory": "9.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/NTDLS.Helpers.dll": {
|
||||
"assemblyVersion": "1.3.11.0",
|
||||
"fileVersion": "1.3.11.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"ZelWiki.Engine.Function/2.20.1": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Abstractions/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-FPWZAa9c0H4dvOj351iR1jkUIs4u9ykL4Bm592yhjDyO5lCoWd+TMAHx2EMbarzUvCvgjWjJIoC6//Q9kH6YhA==",
|
||||
"path": "microsoft.extensions.caching.abstractions/9.0.0",
|
||||
"hashPath": "microsoft.extensions.caching.abstractions.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Memory/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-zbnPX/JQ0pETRSUG9fNPBvpIq42Aufvs15gGYyNIMhCun9yhmWihz0WgsI7bSDPjxWTKBf8oX/zv6v2uZ3W9OQ==",
|
||||
"path": "microsoft.extensions.caching.memory/9.0.0",
|
||||
"hashPath": "microsoft.extensions.caching.memory.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-+6f2qv2a3dLwd5w6JanPIPs47CxRbnk+ZocMJUhv9NxP88VlOcJYZs9jY+MYSjxvady08bUZn6qgiNh7DadGgg==",
|
||||
"path": "microsoft.extensions.dependencyinjection.abstractions/9.0.0",
|
||||
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-g0UfujELzlLbHoVG8kPKVBaW470Ewi+jnptGS9KUi6jcb+k2StujtK3m26DFSGGwQ/+bVgZfsWqNzlP6YOejvw==",
|
||||
"path": "microsoft.extensions.logging.abstractions/9.0.0",
|
||||
"hashPath": "microsoft.extensions.logging.abstractions.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Options/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-y2146b3jrPI3Q0lokKXdKLpmXqakYbDIPDV6r3M8SqvSf45WwOTzkyfDpxnZXJsJQEpAsAqjUq5Pu8RCJMjubg==",
|
||||
"path": "microsoft.extensions.options/9.0.0",
|
||||
"hashPath": "microsoft.extensions.options.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg==",
|
||||
"path": "microsoft.extensions.primitives/9.0.0",
|
||||
"hashPath": "microsoft.extensions.primitives.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"NTDLS.Helpers/1.3.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-xcNFG2blg5WqnivxXgLHbvxz5L1EYXAhEK+7R1TXQIyuknKG9McAjCp+tr+RZ7PawqXwKeOHkaizNQcSdlv81A==",
|
||||
"path": "ntdls.helpers/1.3.11",
|
||||
"hashPath": "ntdls.helpers.1.3.11.nupkg.sha512"
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]
|
||||
@@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("TightWiki.Engine.Function")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.20.1.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("2.20.1+4b54cca70b03a58af51ef6debdd012251f258bbb")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("TightWiki.Engine.Function")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("TightWiki.Engine.Function")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("2.20.1.0")]
|
||||
|
||||
// 由 MSBuild WriteCodeFragment 类生成。
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
3c33df699ed128d40bd8e83712eac865c7928dd32a61ecc3f0204a674707baef
|
||||
@@ -0,0 +1,15 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = net9.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = TightWiki.Engine.Function
|
||||
build_property.ProjectDir = E:\HelloWord\nysj2\TightWiki.Engine.Function\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.EffectiveAnalysisLevelStyle = 9.0
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using global::System;
|
||||
global using global::System.Collections.Generic;
|
||||
global using global::System.IO;
|
||||
global using global::System.Linq;
|
||||
global using global::System.Net.Http;
|
||||
global using global::System.Threading;
|
||||
global using global::System.Threading.Tasks;
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
ae1e05debbfe23a4baf3205fe4e9ba7a4fd6eb0be55fb611c1905505f95ed63f
|
||||
@@ -0,0 +1,12 @@
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\bin\Debug\net9.0\TightWiki.Engine.Function.deps.json
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\bin\Debug\net9.0\TightWiki.Engine.Function.dll
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\bin\Debug\net9.0\TightWiki.Engine.Function.pdb
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\obj\Debug\net9.0\TightWiki.Engine.Function.csproj.AssemblyReference.cache
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\obj\Debug\net9.0\TightWiki.Engine.Function.GeneratedMSBuildEditorConfig.editorconfig
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\obj\Debug\net9.0\TightWiki.Engine.Function.AssemblyInfoInputs.cache
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\obj\Debug\net9.0\TightWiki.Engine.Function.AssemblyInfo.cs
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\obj\Debug\net9.0\TightWiki.Engine.Function.csproj.CoreCompileInputs.cache
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\obj\Debug\net9.0\TightWiki.Engine.Function.dll
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\obj\Debug\net9.0\refint\TightWiki.Engine.Function.dll
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\obj\Debug\net9.0\TightWiki.Engine.Function.pdb
|
||||
E:\HelloWord\nysj2\TightWiki.Engine.Function\obj\Debug\net9.0\ref\TightWiki.Engine.Function.dll
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// 此代码由工具生成。
|
||||
// 运行时版本:4.0.30319.42000
|
||||
//
|
||||
// 对此文件的更改可能会导致不正确的行为,并且如果
|
||||
// 重新生成代码,这些更改将会丢失。
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("ZelWiki.Engine.Function")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("2.20.1.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("2.20.1+4b54cca70b03a58af51ef6debdd012251f258bbb")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("ZelWiki.Engine.Function")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("ZelWiki.Engine.Function")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("2.20.1.0")]
|
||||
|
||||
// 由 MSBuild WriteCodeFragment 类生成。
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
4a20fd27d492409e8e317922553268e585ca0edd179bc0d7d3673bc27aae4ffc
|
||||
@@ -0,0 +1,15 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = net9.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = ZelWiki.Engine.Function
|
||||
build_property.ProjectDir = E:\HelloWord\nysj2\ZelWiki.Engine.Function\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.EffectiveAnalysisLevelStyle = 9.0
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using global::System;
|
||||
global using global::System.Collections.Generic;
|
||||
global using global::System.IO;
|
||||
global using global::System.Linq;
|
||||
global using global::System.Net.Http;
|
||||
global using global::System.Threading;
|
||||
global using global::System.Threading.Tasks;
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
27e2e74e52687596539a17fe7c5c4b96d6d9a91948419d1205dc0fe8793ff15e
|
||||
@@ -0,0 +1,12 @@
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\bin\Debug\net9.0\ZelWiki.Engine.Function.deps.json
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\bin\Debug\net9.0\ZelWiki.Engine.Function.dll
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\bin\Debug\net9.0\ZelWiki.Engine.Function.pdb
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\obj\Debug\net9.0\ZelWiki.Engine.Function.csproj.AssemblyReference.cache
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\obj\Debug\net9.0\ZelWiki.Engine.Function.GeneratedMSBuildEditorConfig.editorconfig
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\obj\Debug\net9.0\ZelWiki.Engine.Function.AssemblyInfoInputs.cache
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\obj\Debug\net9.0\ZelWiki.Engine.Function.AssemblyInfo.cs
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\obj\Debug\net9.0\ZelWiki.Engine.Function.csproj.CoreCompileInputs.cache
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\obj\Debug\net9.0\ZelWiki.Engine.Function.dll
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\obj\Debug\net9.0\refint\ZelWiki.Engine.Function.dll
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\obj\Debug\net9.0\ZelWiki.Engine.Function.pdb
|
||||
E:\HelloWord\nysj2\ZelWiki.Engine.Function\obj\Debug\net9.0\ref\ZelWiki.Engine.Function.dll
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj": {
|
||||
"version": "2.20.1",
|
||||
"restore": {
|
||||
"projectUniqueName": "E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj",
|
||||
"projectName": "TightWiki.Engine.Function",
|
||||
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj",
|
||||
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
|
||||
"outputPath": "E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Zel\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net9.0"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "9.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"dependencies": {
|
||||
"NTDLS.Helpers": {
|
||||
"target": "Package",
|
||||
"version": "[1.3.11, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.102/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Zel\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.3</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\Zel\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Options.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj": {
|
||||
"version": "2.20.1",
|
||||
"restore": {
|
||||
"projectUniqueName": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj",
|
||||
"projectName": "ZelWiki.Engine.Function",
|
||||
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj",
|
||||
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
|
||||
"outputPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Zel\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net9.0"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "9.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"dependencies": {
|
||||
"NTDLS.Helpers": {
|
||||
"target": "Package",
|
||||
"version": "[1.3.11, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.102/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Zel\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.3</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\Zel\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Options.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.0\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
465
ZelWiki.Engine.Function/obj/project.assets.json
Normal file
465
ZelWiki.Engine.Function/obj/project.assets.json
Normal file
@@ -0,0 +1,465 @@
|
||||
{
|
||||
"version": 3,
|
||||
"targets": {
|
||||
"net9.0": {
|
||||
"Microsoft.Extensions.Caching.Abstractions/9.0.0": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Primitives": "9.0.0"
|
||||
},
|
||||
"compile": {
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"build": {
|
||||
"buildTransitive/net8.0/_._": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Memory/9.0.0": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Caching.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.Options": "9.0.0",
|
||||
"Microsoft.Extensions.Primitives": "9.0.0"
|
||||
},
|
||||
"compile": {
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"build": {
|
||||
"buildTransitive/net8.0/_._": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": {
|
||||
"type": "package",
|
||||
"compile": {
|
||||
"lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"build": {
|
||||
"buildTransitive/net8.0/_._": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/9.0.0": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0"
|
||||
},
|
||||
"compile": {
|
||||
"lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"build": {
|
||||
"buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Options/9.0.0": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.0",
|
||||
"Microsoft.Extensions.Primitives": "9.0.0"
|
||||
},
|
||||
"compile": {
|
||||
"lib/net9.0/Microsoft.Extensions.Options.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Options.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"build": {
|
||||
"buildTransitive/net8.0/Microsoft.Extensions.Options.targets": {}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/9.0.0": {
|
||||
"type": "package",
|
||||
"compile": {
|
||||
"lib/net9.0/Microsoft.Extensions.Primitives.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Primitives.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"build": {
|
||||
"buildTransitive/net8.0/_._": {}
|
||||
}
|
||||
},
|
||||
"NTDLS.Helpers/1.3.11": {
|
||||
"type": "package",
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Caching.Memory": "9.0.0"
|
||||
},
|
||||
"compile": {
|
||||
"lib/net9.0/NTDLS.Helpers.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/NTDLS.Helpers.dll": {
|
||||
"related": ".xml"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"Microsoft.Extensions.Caching.Abstractions/9.0.0": {
|
||||
"sha512": "FPWZAa9c0H4dvOj351iR1jkUIs4u9ykL4Bm592yhjDyO5lCoWd+TMAHx2EMbarzUvCvgjWjJIoC6//Q9kH6YhA==",
|
||||
"type": "package",
|
||||
"path": "microsoft.extensions.caching.abstractions/9.0.0",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"LICENSE.TXT",
|
||||
"PACKAGE.md",
|
||||
"THIRD-PARTY-NOTICES.TXT",
|
||||
"buildTransitive/net461/Microsoft.Extensions.Caching.Abstractions.targets",
|
||||
"buildTransitive/net462/_._",
|
||||
"buildTransitive/net8.0/_._",
|
||||
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Abstractions.targets",
|
||||
"lib/net462/Microsoft.Extensions.Caching.Abstractions.dll",
|
||||
"lib/net462/Microsoft.Extensions.Caching.Abstractions.xml",
|
||||
"lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll",
|
||||
"lib/net8.0/Microsoft.Extensions.Caching.Abstractions.xml",
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll",
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Abstractions.xml",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.xml",
|
||||
"microsoft.extensions.caching.abstractions.9.0.0.nupkg.sha512",
|
||||
"microsoft.extensions.caching.abstractions.nuspec",
|
||||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Memory/9.0.0": {
|
||||
"sha512": "zbnPX/JQ0pETRSUG9fNPBvpIq42Aufvs15gGYyNIMhCun9yhmWihz0WgsI7bSDPjxWTKBf8oX/zv6v2uZ3W9OQ==",
|
||||
"type": "package",
|
||||
"path": "microsoft.extensions.caching.memory/9.0.0",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"LICENSE.TXT",
|
||||
"PACKAGE.md",
|
||||
"THIRD-PARTY-NOTICES.TXT",
|
||||
"buildTransitive/net461/Microsoft.Extensions.Caching.Memory.targets",
|
||||
"buildTransitive/net462/_._",
|
||||
"buildTransitive/net8.0/_._",
|
||||
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Caching.Memory.targets",
|
||||
"lib/net462/Microsoft.Extensions.Caching.Memory.dll",
|
||||
"lib/net462/Microsoft.Extensions.Caching.Memory.xml",
|
||||
"lib/net8.0/Microsoft.Extensions.Caching.Memory.dll",
|
||||
"lib/net8.0/Microsoft.Extensions.Caching.Memory.xml",
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Memory.dll",
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Memory.xml",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.xml",
|
||||
"microsoft.extensions.caching.memory.9.0.0.nupkg.sha512",
|
||||
"microsoft.extensions.caching.memory.nuspec",
|
||||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.0": {
|
||||
"sha512": "+6f2qv2a3dLwd5w6JanPIPs47CxRbnk+ZocMJUhv9NxP88VlOcJYZs9jY+MYSjxvady08bUZn6qgiNh7DadGgg==",
|
||||
"type": "package",
|
||||
"path": "microsoft.extensions.dependencyinjection.abstractions/9.0.0",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"LICENSE.TXT",
|
||||
"PACKAGE.md",
|
||||
"THIRD-PARTY-NOTICES.TXT",
|
||||
"buildTransitive/net461/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
|
||||
"buildTransitive/net462/_._",
|
||||
"buildTransitive/net8.0/_._",
|
||||
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.DependencyInjection.Abstractions.targets",
|
||||
"lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
|
||||
"lib/net462/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
|
||||
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
|
||||
"lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
|
||||
"lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
|
||||
"lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
|
||||
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.dll",
|
||||
"lib/netstandard2.1/Microsoft.Extensions.DependencyInjection.Abstractions.xml",
|
||||
"microsoft.extensions.dependencyinjection.abstractions.9.0.0.nupkg.sha512",
|
||||
"microsoft.extensions.dependencyinjection.abstractions.nuspec",
|
||||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/9.0.0": {
|
||||
"sha512": "g0UfujELzlLbHoVG8kPKVBaW470Ewi+jnptGS9KUi6jcb+k2StujtK3m26DFSGGwQ/+bVgZfsWqNzlP6YOejvw==",
|
||||
"type": "package",
|
||||
"path": "microsoft.extensions.logging.abstractions/9.0.0",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"LICENSE.TXT",
|
||||
"PACKAGE.md",
|
||||
"THIRD-PARTY-NOTICES.TXT",
|
||||
"analyzers/dotnet/roslyn3.11/cs/Microsoft.Extensions.Logging.Generators.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn3.11/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/Microsoft.Extensions.Logging.Generators.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.0/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Logging.Generators.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Logging.Generators.resources.dll",
|
||||
"buildTransitive/net461/Microsoft.Extensions.Logging.Abstractions.targets",
|
||||
"buildTransitive/net462/Microsoft.Extensions.Logging.Abstractions.targets",
|
||||
"buildTransitive/net8.0/Microsoft.Extensions.Logging.Abstractions.targets",
|
||||
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Logging.Abstractions.targets",
|
||||
"buildTransitive/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.targets",
|
||||
"lib/net462/Microsoft.Extensions.Logging.Abstractions.dll",
|
||||
"lib/net462/Microsoft.Extensions.Logging.Abstractions.xml",
|
||||
"lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll",
|
||||
"lib/net8.0/Microsoft.Extensions.Logging.Abstractions.xml",
|
||||
"lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll",
|
||||
"lib/net9.0/Microsoft.Extensions.Logging.Abstractions.xml",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.dll",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Logging.Abstractions.xml",
|
||||
"microsoft.extensions.logging.abstractions.9.0.0.nupkg.sha512",
|
||||
"microsoft.extensions.logging.abstractions.nuspec",
|
||||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
},
|
||||
"Microsoft.Extensions.Options/9.0.0": {
|
||||
"sha512": "y2146b3jrPI3Q0lokKXdKLpmXqakYbDIPDV6r3M8SqvSf45WwOTzkyfDpxnZXJsJQEpAsAqjUq5Pu8RCJMjubg==",
|
||||
"type": "package",
|
||||
"path": "microsoft.extensions.options/9.0.0",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"LICENSE.TXT",
|
||||
"PACKAGE.md",
|
||||
"THIRD-PARTY-NOTICES.TXT",
|
||||
"analyzers/dotnet/roslyn4.4/cs/Microsoft.Extensions.Options.SourceGeneration.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/cs/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/de/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/es/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/fr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/it/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/ja/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/ko/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/pl/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/pt-BR/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/ru/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/tr/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/zh-Hans/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"analyzers/dotnet/roslyn4.4/cs/zh-Hant/Microsoft.Extensions.Options.SourceGeneration.resources.dll",
|
||||
"buildTransitive/net461/Microsoft.Extensions.Options.targets",
|
||||
"buildTransitive/net462/Microsoft.Extensions.Options.targets",
|
||||
"buildTransitive/net8.0/Microsoft.Extensions.Options.targets",
|
||||
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Options.targets",
|
||||
"buildTransitive/netstandard2.0/Microsoft.Extensions.Options.targets",
|
||||
"lib/net462/Microsoft.Extensions.Options.dll",
|
||||
"lib/net462/Microsoft.Extensions.Options.xml",
|
||||
"lib/net8.0/Microsoft.Extensions.Options.dll",
|
||||
"lib/net8.0/Microsoft.Extensions.Options.xml",
|
||||
"lib/net9.0/Microsoft.Extensions.Options.dll",
|
||||
"lib/net9.0/Microsoft.Extensions.Options.xml",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Options.dll",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Options.xml",
|
||||
"lib/netstandard2.1/Microsoft.Extensions.Options.dll",
|
||||
"lib/netstandard2.1/Microsoft.Extensions.Options.xml",
|
||||
"microsoft.extensions.options.9.0.0.nupkg.sha512",
|
||||
"microsoft.extensions.options.nuspec",
|
||||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/9.0.0": {
|
||||
"sha512": "N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg==",
|
||||
"type": "package",
|
||||
"path": "microsoft.extensions.primitives/9.0.0",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Icon.png",
|
||||
"LICENSE.TXT",
|
||||
"PACKAGE.md",
|
||||
"THIRD-PARTY-NOTICES.TXT",
|
||||
"buildTransitive/net461/Microsoft.Extensions.Primitives.targets",
|
||||
"buildTransitive/net462/_._",
|
||||
"buildTransitive/net8.0/_._",
|
||||
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Primitives.targets",
|
||||
"lib/net462/Microsoft.Extensions.Primitives.dll",
|
||||
"lib/net462/Microsoft.Extensions.Primitives.xml",
|
||||
"lib/net8.0/Microsoft.Extensions.Primitives.dll",
|
||||
"lib/net8.0/Microsoft.Extensions.Primitives.xml",
|
||||
"lib/net9.0/Microsoft.Extensions.Primitives.dll",
|
||||
"lib/net9.0/Microsoft.Extensions.Primitives.xml",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Primitives.dll",
|
||||
"lib/netstandard2.0/Microsoft.Extensions.Primitives.xml",
|
||||
"microsoft.extensions.primitives.9.0.0.nupkg.sha512",
|
||||
"microsoft.extensions.primitives.nuspec",
|
||||
"useSharedDesignerContext.txt"
|
||||
]
|
||||
},
|
||||
"NTDLS.Helpers/1.3.11": {
|
||||
"sha512": "xcNFG2blg5WqnivxXgLHbvxz5L1EYXAhEK+7R1TXQIyuknKG9McAjCp+tr+RZ7PawqXwKeOHkaizNQcSdlv81A==",
|
||||
"type": "package",
|
||||
"path": "ntdls.helpers/1.3.11",
|
||||
"files": [
|
||||
".nupkg.metadata",
|
||||
".signature.p7s",
|
||||
"Logo.png",
|
||||
"README.md",
|
||||
"lib/net8.0/NTDLS.Helpers.dll",
|
||||
"lib/net8.0/NTDLS.Helpers.xml",
|
||||
"lib/net9.0/NTDLS.Helpers.dll",
|
||||
"lib/net9.0/NTDLS.Helpers.xml",
|
||||
"ntdls.helpers.1.3.11.nupkg.sha512",
|
||||
"ntdls.helpers.nuspec"
|
||||
]
|
||||
}
|
||||
},
|
||||
"projectFileDependencyGroups": {
|
||||
"net9.0": [
|
||||
"NTDLS.Helpers >= 1.3.11"
|
||||
]
|
||||
},
|
||||
"packageFolders": {
|
||||
"C:\\Users\\Zel\\.nuget\\packages\\": {},
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
|
||||
},
|
||||
"project": {
|
||||
"version": "2.20.1",
|
||||
"restore": {
|
||||
"projectUniqueName": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj",
|
||||
"projectName": "ZelWiki.Engine.Function",
|
||||
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj",
|
||||
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
|
||||
"outputPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Zel\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net9.0"
|
||||
],
|
||||
"sources": {
|
||||
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "9.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"dependencies": {
|
||||
"NTDLS.Helpers": {
|
||||
"target": "Package",
|
||||
"version": "[1.3.11, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.102/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
16
ZelWiki.Engine.Function/obj/project.nuget.cache
Normal file
16
ZelWiki.Engine.Function/obj/project.nuget.cache
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "2RUXNBDHGB4=",
|
||||
"success": true,
|
||||
"projectFilePath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\9.0.0\\microsoft.extensions.caching.abstractions.9.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.caching.memory\\9.0.0\\microsoft.extensions.caching.memory.9.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\9.0.0\\microsoft.extensions.dependencyinjection.abstractions.9.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\9.0.0\\microsoft.extensions.logging.abstractions.9.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.options\\9.0.0\\microsoft.extensions.options.9.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.primitives\\9.0.0\\microsoft.extensions.primitives.9.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Zel\\.nuget\\packages\\ntdls.helpers\\1.3.11\\ntdls.helpers.1.3.11.nupkg.sha512"
|
||||
],
|
||||
"logs": []
|
||||
}
|
||||
1
ZelWiki.Engine.Function/obj/project.packagespec.json
Normal file
1
ZelWiki.Engine.Function/obj/project.packagespec.json
Normal file
@@ -0,0 +1 @@
|
||||
"restore":{"projectUniqueName":"E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj","projectName":"TightWiki.Engine.Function","projectPath":"E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj","outputPath":"E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\obj\\","projectStyle":"PackageReference","fallbackFolders":["C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"],"originalTargetFrameworks":["net9.0"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net9.0":{"targetAlias":"net9.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"}}"frameworks":{"net9.0":{"targetAlias":"net9.0","dependencies":{"NTDLS.Helpers":{"target":"Package","version":"[1.3.11, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\9.0.102/PortableRuntimeIdentifierGraph.json"}}
|
||||
@@ -0,0 +1 @@
|
||||
17399550709840955
|
||||
1
ZelWiki.Engine.Function/obj/rider.project.restore.info
Normal file
1
ZelWiki.Engine.Function/obj/rider.project.restore.info
Normal file
@@ -0,0 +1 @@
|
||||
17400197437880984
|
||||
Reference in New Issue
Block a user