我滴个乖乖

This commit is contained in:
zel
2025-02-20 15:20:28 +08:00
parent 4b54cca70b
commit 485cfcd6f2
2343 changed files with 495732 additions and 1022 deletions

View File

@@ -0,0 +1,23 @@
using ZelWiki.Engine.Library;
namespace ZelWiki.Engine
{
public class WikiMatchSet
{
/// <summary>
/// The type of match that was found.
/// </summary>
public Constants.WikiMatchType MatchType { get; set; }
/// <summary>
/// The resulting content of the wiki processing.
/// </summary>
public string Content { get; set; } = string.Empty;
/// <summary>
/// The content in this segment will be wikified. This is useful to disable on things like error messages
/// and literal blocks where the content may contain valid wiki markup but we want it to display verbatim.
/// </summary>
public bool AllowNestedDecode { get; set; }
}
}

View File

@@ -0,0 +1,8 @@
namespace ZelWiki.Engine
{
public class WikiOrderedMatch
{
public string Value { get; set; } = string.Empty;
public int Index { get; set; }
}
}

View File

@@ -0,0 +1,46 @@
using System.Text.RegularExpressions;
namespace ZelWiki.Engine
{
internal static partial class PrecompiledRegex
{
[GeneratedRegex("\\#\\{([\\S\\s]*?)\\}\\#", RegexOptions.IgnoreCase)]
internal static partial Regex TransformLiterals();
[GeneratedRegex("{{([\\S\\s]*)}}", RegexOptions.IgnoreCase)]
internal static partial Regex TransformBlock();
[GeneratedRegex("\\;\\;.*", RegexOptions.IgnoreCase)]
internal static partial Regex TransformComments();
[GeneratedRegex("(\\%\\%.+?\\%\\%)", RegexOptions.IgnoreCase)]
internal static partial Regex TransformEmoji();
[GeneratedRegex("(\\$\\{.+?\\})", RegexOptions.IgnoreCase)]
internal static partial Regex TransformVariables();
[GeneratedRegex("(\\[\\[http\\:\\/\\/.+?\\]\\])", RegexOptions.IgnoreCase)]
internal static partial Regex TransformExplicitHTTPLinks();
[GeneratedRegex("(\\[\\[https\\:\\/\\/.+?\\]\\])", RegexOptions.IgnoreCase)]
internal static partial Regex TransformExplicitHTTPsLinks();
[GeneratedRegex("(\\[\\[.+?\\]\\])", RegexOptions.IgnoreCase)]
internal static partial Regex TransformInternalDynamicLinks();
[GeneratedRegex("(\\#\\#[\\w-]+\\(\\))|(\\#\\#)([a-zA-Z_\\s{][a-zA-Z0-9_\\s{]*)\\(((?<BR>\\()|(?<-BR>\\))|[^()]*)+\\)|(\\#\\#[\\w-]+)", RegexOptions.IgnoreCase)]
internal static partial Regex TransformFunctions();
[GeneratedRegex("(\\@\\@[\\w-]+\\(\\))|(\\@\\@[\\w-]+\\(.*?\\))|(\\@\\@[\\w-]+)", RegexOptions.IgnoreCase)]
internal static partial Regex TransformProcessingInstructions();
[GeneratedRegex("(\\#\\#[\\w-]+\\(\\))|(##|{{|@@)([a-zA-Z_\\s{][a-zA-Z0-9_\\s{]*)\\(((?<BR>\\()|(?<-BR>\\))|[^()]*)+\\)|(\\#\\#[\\w-]+)", RegexOptions.IgnoreCase)]
internal static partial Regex TransformPostProcess();
[GeneratedRegex("(=======.*?\n)|(======.*?\n)|(=====.*?\n)|(====.*?\n)|(===.*?\n)|(==.*?\n)", RegexOptions.IgnoreCase)]
internal static partial Regex TransformSectionHeadings();
[GeneratedRegex("(\\^\\^\\^\\^\\^\\^\\^.*?\n)|(\\^\\^\\^\\^\\^\\^.*?\n)|(\\^\\^\\^\\^\\^.*?\n)|(\\^\\^\\^\\^.*?\n)|(\\^\\^\\^.*?\n)|(\\^\\^.*?\n)", RegexOptions.IgnoreCase)]
internal static partial Regex TransformHeaderMarkup();
}
}

View File

@@ -0,0 +1,43 @@
namespace ZelWiki.Engine
{
public class WikiString
{
public WikiString()
{
}
public WikiString(string value)
{
Value = value;
}
public string Value { get; set; } = string.Empty;
public int Length => Value.Length;
public void Replace(string oldValue, string newValue)
{
Value = Value.Replace(oldValue, newValue);
}
public void Insert(int position, string value)
{
Value = Value.Insert(position, value);
}
public void Clear()
{
Value = string.Empty;
}
public void Append(string value)
{
Value += value;
}
public new string ToString()
{
return Value;
}
}
}

View File

@@ -0,0 +1,95 @@
using System.Text;
using System.Text.RegularExpressions;
namespace ZelWiki.Engine
{
internal static class WikiUtility
{
/// <summary>
/// Skips the namespace and returns just the page name part of the navigation.
/// </summary>
/// <param name="navigation"></param>
/// <returns></returns>
internal static string GetPageNamePart(string navigation)
{
var parts = navigation.Trim(':').Trim().Split("::");
if (parts.Length > 1)
{
return string.Join('_', parts.Skip(1));
}
return navigation.Trim(':');
}
internal static string WarningCard(string header, string exceptionText)
{
var html = new StringBuilder();
html.Append("<div class=\"card bg-warning mb-3\">");
html.Append($"<div class=\"card-header\"><strong>{header}</strong></div>");
html.Append("<div class=\"card-body\">");
html.Append($"<p class=\"card-text\">{exceptionText}");
html.Append("</p>");
html.Append("</div>");
html.Append("</div>");
return html.ToString();
}
internal static List<WikiOrderedMatch> OrderMatchesByLengthDescending(MatchCollection matches)
{
var result = new List<WikiOrderedMatch>();
foreach (Match match in matches)
{
result.Add(new WikiOrderedMatch
{
Value = match.Value,
Index = match.Index
});
}
return result.OrderByDescending(o => o.Value.Length).ToList();
}
/// <summary>
/// Gets a list of symbols where the symbol occurs consecutively, more than once. (e.g. "##This##")
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
internal static HashSet<char> GetApplicableSymbols(string input)
{
var symbolCounts = new Dictionary<char, int>();
char? previousChar = null;
int consecutiveCount = 0;
for (int i = 0; i < input.Length; i++)
{
char currentChar = input[i];
if (char.IsLetterOrDigit(currentChar) || char.IsWhiteSpace(currentChar))
{
continue;
}
if (previousChar.HasValue && currentChar == previousChar.Value)
{
consecutiveCount++;
if (consecutiveCount > 1)
{
symbolCounts.TryGetValue(previousChar.Value, out int count);
symbolCounts[previousChar.Value] = count + 1;
consecutiveCount = 1;
}
}
else
{
consecutiveCount = 1;
}
previousChar = currentChar;
}
return symbolCounts.Where(o => o.Value > 1).Select(o => o.Key).ToHashSet();
}
}
}

View File

@@ -0,0 +1,189 @@
using System.Text.RegularExpressions;
using ZelWiki.Engine.Function;
using ZelWiki.Models;
namespace ZelWiki.Engine
{
/// <summary>
/// Tiny wikifier (reduced feature-set) for things like comments and profile bios.
/// </summary>
public class WikifierLite
{
public static string Process(string? unprocessedText)
{
unprocessedText = unprocessedText?.Trim() ?? string.Empty;
if (string.IsNullOrWhiteSpace(unprocessedText))
{
return string.Empty;
}
for (int i = 0; i < 100; i++) //We don't want to process nested wiki forever.
{
bool processedMatches = false;
var matchStore = new Dictionary<string, string>();
var content = new WikiString(unprocessedText);
TransformEmoji(content, matchStore);
TransformLinks(content, matchStore);
TransformMarkup(content, matchStore);
foreach (var match in matchStore)
{
processedMatches = true;
content.Replace(match.Key, match.Value);
}
if (!processedMatches)
{
break;
}
unprocessedText = content.ToString();
}
return unprocessedText;
}
private static string StoreMatch(Dictionary<string, string> matchStore, string value)
{
var guid = Guid.NewGuid().ToString();
matchStore.Add(guid, value);
return guid;
}
private static void TransformEmoji(WikiString pageContent, Dictionary<string, string> matchStore)
{
var rgx = new Regex(@"(%%.+?%%)", RegexOptions.IgnoreCase);
var matches = WikiUtility.OrderMatchesByLengthDescending(rgx.Matches(pageContent.ToString()));
foreach (var match in matches)
{
string key = match.Value.Trim().ToLower().Trim('%');
int scale = 100;
var parts = key.Split(',');
if (parts.Length > 1)
{
key = parts[0]; //Image key;
scale = int.Parse(parts[1]); //Image scale.
}
key = $"%%{key}%%";
var emoji = GlobalConfiguration.Emojis.FirstOrDefault(o => o.Shortcut == key);
if (GlobalConfiguration.Emojis.Exists(o => o.Shortcut == key))
{
if (scale != 100 && scale > 0 && scale <= 500)
{
var emojiImage = $"<img src=\"/file/Emoji/{key.Trim('%')}?Scale={scale}\" alt=\"{emoji?.Name}\" />";
pageContent.Replace(match.Value, StoreMatch(matchStore, emojiImage));
}
else
{
var emojiImage = $"<img src=\"/file/Emoji/{key.Trim('%')}\" alt=\"{emoji?.Name}\" />";
pageContent.Replace(match.Value, StoreMatch(matchStore, emojiImage));
}
}
else
{
pageContent.Replace(match.Value, StoreMatch(matchStore, string.Empty));
}
}
}
/// <summary>
/// Transform basic markup such as bold, italics, underline, etc. for single and multi-line.
/// </summary>
/// <param name="pageContent"></param>
private static void TransformMarkup(WikiString pageContent, Dictionary<string, string> matchStore)
{
var symbols = WikiUtility.GetApplicableSymbols(pageContent.Value);
foreach (var symbol in symbols)
{
var sequence = new string(symbol, 2);
var escapedSequence = Regex.Escape(sequence);
var rgx = new Regex(@$"{escapedSequence}(.*?){escapedSequence}", RegexOptions.IgnoreCase);
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(rgx.Matches(pageContent.ToString()));
foreach (var match in orderedMatches)
{
string body = match.Value.Substring(sequence.Length, match.Value.Length - sequence.Length * 2);
var markup = symbol switch
{
'~' => $"<strike>{body}</strike>",
'*' => $"<strong>{body}</strong>",
'_' => $"<u>{body}</u>",
'/' => $"<i>{body}</i>",
'!' => $"<mark>{body}</mark>",
_ => body,
};
pageContent.Replace(match.Value, StoreMatch(matchStore, markup));
}
}
}
/// <summary>
/// Transform links, these can be internal Wiki links or external links.
/// </summary>
/// <param name="pageContent"></param>
private static void TransformLinks(WikiString pageContent, Dictionary<string, string> matchStore)
{
//Parse external explicit links. eg. [[http://test.net]].
var rgx = new Regex(@"(\[\[http\:\/\/.+?\]\])", RegexOptions.IgnoreCase);
var matches = WikiUtility.OrderMatchesByLengthDescending(rgx.Matches(pageContent.ToString()));
foreach (var match in matches)
{
string keyword = match.Value.Substring(2, match.Value.Length - 4).Trim();
var args = FunctionParser.ParseRawArgumentsAddParenthesis(keyword);
if (args.Count > 1)
{
pageContent.Replace(match.Value, StoreMatch(matchStore, $"<a href=\"{args[0]}\">{args[1]}</a>"));
}
else
{
pageContent.Replace(match.Value, StoreMatch(matchStore, $"<a href=\"{args[0]}\">{args[0]}</a>"));
}
}
//Parse external explicit links. eg. [[https://test.net]].
rgx = new Regex(@"(\[\[https\:\/\/.+?\]\])", RegexOptions.IgnoreCase);
matches = WikiUtility.OrderMatchesByLengthDescending(rgx.Matches(pageContent.ToString()));
foreach (var match in matches)
{
string keyword = match.Value.Substring(2, match.Value.Length - 4).Trim();
var args = FunctionParser.ParseRawArgumentsAddParenthesis(keyword);
if (args.Count == 1)
{
pageContent.Replace(match.Value, StoreMatch(matchStore, $"<a href=\"{args[0]}\">{args[1]}</a>"));
}
else if (args.Count > 1)
{
pageContent.Replace(match.Value, StoreMatch(matchStore, $"<a href=\"{args[0]}\">{args[0]}</a>"));
}
}
//Parse internal dynamic links. eg [[AboutUs|About Us]].
rgx = new Regex(@"(\[\[.+?\]\])", RegexOptions.IgnoreCase);
matches = WikiUtility.OrderMatchesByLengthDescending(rgx.Matches(pageContent.ToString()));
foreach (var match in matches)
{
string keyword = match.Value.Substring(2, match.Value.Length - 4);
var args = FunctionParser.ParseRawArgumentsAddParenthesis(keyword);
if (args.Count == 1)
{
pageContent.Replace(match.Value, StoreMatch(matchStore, $"<a href=\"{GlobalConfiguration.BasePath}/{args[0]}\">{args[0]}</a>"));
}
else if (args.Count > 1)
{
pageContent.Replace(match.Value, StoreMatch(matchStore, $"<a href=\"{GlobalConfiguration.BasePath}/{args[0]}\">{args[1]}</a>"));
}
}
}
}
}

View File

@@ -0,0 +1,63 @@
using ZelWiki.Engine.Library;
using ZelWiki.Engine.Library.Interfaces;
using ZelWiki.Library.Interfaces;
namespace ZelWiki.Engine
{
public class ZelEngine : IZelEngine
{
public IScopeFunctionHandler ScopeFunctionHandler { get; private set; }
public IStandardFunctionHandler StandardFunctionHandler { get; private set; }
public IProcessingInstructionFunctionHandler ProcessingInstructionFunctionHandler { get; private set; }
public IPostProcessingFunctionHandler PostProcessingFunctionHandler { get; private set; }
public IMarkupHandler MarkupHandler { get; private set; }
public IHeadingHandler HeadingHandler { get; private set; }
public ICommentHandler CommentHandler { get; private set; }
public IEmojiHandler EmojiHandler { get; private set; }
public IExternalLinkHandler ExternalLinkHandler { get; private set; }
public IInternalLinkHandler InternalLinkHandler { get; private set; }
public IExceptionHandler ExceptionHandler { get; private set; }
public ICompletionHandler CompletionHandler { get; private set; }
public ZelEngine(
IStandardFunctionHandler standardFunctionHandler,
IScopeFunctionHandler scopeFunctionHandler,
IProcessingInstructionFunctionHandler processingInstructionFunctionHandler,
IPostProcessingFunctionHandler postProcessingFunctionHandler,
IMarkupHandler markupHandler,
IHeadingHandler headingHandler,
ICommentHandler commentHandler,
IEmojiHandler emojiHandler,
IExternalLinkHandler externalLinkHandler,
IInternalLinkHandler internalLinkHandler,
IExceptionHandler exceptionHandler,
ICompletionHandler completionHandler)
{
StandardFunctionHandler = standardFunctionHandler;
StandardFunctionHandler = standardFunctionHandler;
ScopeFunctionHandler = scopeFunctionHandler;
ProcessingInstructionFunctionHandler = processingInstructionFunctionHandler;
PostProcessingFunctionHandler = postProcessingFunctionHandler;
MarkupHandler = markupHandler;
HeadingHandler = headingHandler;
CommentHandler = commentHandler;
EmojiHandler = emojiHandler;
ExternalLinkHandler = externalLinkHandler;
InternalLinkHandler = internalLinkHandler;
ExceptionHandler = exceptionHandler;
CompletionHandler = completionHandler;
}
/// <summary>
/// Transforms the content for the given page.
/// </summary>
/// <param name="session">The users current state, used for localization.</param>
/// <param name="page">The page that is being processed.</param>
/// <param name="revision">The revision of the page that is being processed.</param>
/// <param name="omitMatches">The type of matches that we want to omit from processing.</param>
/// <returns></returns>
public IZelEngineState Transform(ISessionState? session, IPage page, int? revision = null, Constants.WikiMatchType[]? omitMatches = null)
=> new ZelEngineState(this, session, page, revision, omitMatches).Transform();
}
}

View File

@@ -0,0 +1,956 @@
using System.Diagnostics.CodeAnalysis;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using Microsoft.AspNetCore.Http;
using ZelWiki.Engine.Function;
using ZelWiki.Engine.Function.Exceptions;
using ZelWiki.Engine.Library;
using ZelWiki.Engine.Library.Interfaces;
using ZelWiki.Library;
using ZelWiki.Library.Interfaces;
using static ZelWiki.Engine.Library.Constants;
using Constants = ZelWiki.Engine.Library.Constants;
namespace ZelWiki.Engine
{
public class ZelEngineState : IZelEngineState
{
public IZelEngine Engine { get; private set; }
private string _queryTokenHash = "c03a1c9e-da83-479b-87e8-21d7906bd866";
private int _matchesStoredPerIteration = 0;
private readonly string _tocName = "TOC_" + new Random().Next(0, 1000000).ToString();
private readonly Dictionary<string, object> _handlerState = new();
#region Public properties.
/// <summary>
/// Custom page title set by a call to @@Title("...")
/// </summary>
public string? PageTitle { get; set; }
public int ErrorCount { get; private set; }
public int MatchCount { get; private set; }
public int TransformIterations { get; private set; }
public TimeSpan ProcessingTime { get; private set; }
public Dictionary<string, string> Variables { get; } = new();
public Dictionary<string, string> Snippets { get; } = new();
public List<PageReference> OutgoingLinks { get; private set; } = new();
public List<string> ProcessingInstructions { get; private set; } = new();
public string HtmlResult { get; private set; } = string.Empty;
public List<string> Tags { get; set; } = new();
public Dictionary<string, WikiMatchSet> Matches { get; private set; } = new();
public List<TableOfContentsTag> TableOfContents { get; } = new();
public List<string> Headers { get; } = new();
#endregion
#region Input parameters.
public IPage Page { get; }
public int? Revision { get; }
public IQueryCollection QueryString { get; }
public ISessionState? Session { get; }
public HashSet<Constants.WikiMatchType> OmitMatches { get; private set; } = new();
public int NestDepth { get; private set; } //Used for recursion.
#endregion
/// <summary>
/// Used to store values for handlers that needs to survive only a single wiki processing session.
/// </summary>
public void SetStateValue<T>(string key, T value)
{
if (value == null)
{
return;
}
_handlerState[key] = value;
}
/// <summary>
/// Used to get values for handlers that needs to survive only a single wiki processing session.
/// </summary>
public T GetStateValue<T>(string key, T defaultValue)
{
if (_handlerState.TryGetValue(key, out var value))
{
return (T)value;
}
SetStateValue(key, defaultValue);
return defaultValue;
}
/// <summary>
/// Used to get values for handlers that needs to survive only a single wiki processing session.
/// </summary>
public bool TryGetStateValue<T>(string key, [MaybeNullWhen(false)] out T? outValue)
{
if (_handlerState.TryGetValue(key, out var value))
{
outValue = (T)value;
return true;
}
outValue = default;
return false;
}
/// <summary>
/// Creates a new instance of the ZelEngineState class. Typically created by a call to ZelEngine.Transform().
/// </summary>
/// <param name="session">The users current state, used for localization.</param>
/// <param name="page">The page that is being processed.</param>
/// <param name="revision">The revision of the page that is being processed.</param>
/// <param name="omitMatches">The type of matches that we want to omit from processing.</param>
/// <param name="nestDepth">The current depth of recursion.</param>
internal ZelEngineState(IZelEngine engine, ISessionState? session,
IPage page, int? revision = null, Constants.WikiMatchType[]? omitMatches = null, int nestDepth = 0)
{
QueryString = session?.QueryString ?? new QueryCollection();
Page = page;
Revision = revision;
Matches = new Dictionary<string, WikiMatchSet>();
Session = session;
NestDepth = nestDepth;
if (omitMatches != null)
{
OmitMatches.UnionWith(omitMatches);
}
Engine = engine;
}
/// <summary>
/// Transforms "included" wiki pages, for example if a wiki function
/// injected additional wiki markup, this 'could' be processed separately.
/// </summary>
/// <param name="page">The child page to process</param>
/// <param name="revision">The optional revision of the child page to process</param>
/// <returns></returns>
public IZelEngineState TransformChild(IPage page, int? revision = null)
{
return new ZelEngineState(Engine, Session, page, revision, OmitMatches.ToArray(), NestDepth + 1).Transform();
}
internal IZelEngineState Transform()
{
var startTime = DateTime.UtcNow;
try
{
var pageContent = new WikiString(Page.Body);
pageContent.Replace("\r\n", "\n");
TransformLiterals(pageContent);
while (TransformAll(pageContent) > 0)
{
}
TransformPostProcessingFunctions(pageContent);
TransformWhitespace(pageContent);
if (PageTitle != null)
{
if (Matches.TryGetValue(PageTitle, out var pageTitle))
{
PageTitle = pageTitle.Content;
}
}
int length;
do
{
length = pageContent.Length;
foreach (var v in Matches)
{
if (OmitMatches.Contains(v.Value.MatchType))
{
/// When matches are omitted, the entire match will be removed from the resulting wiki text.
pageContent.Replace(v.Key, string.Empty);
}
else
{
pageContent.Replace(v.Key, v.Value.Content);
}
}
} while (length != pageContent.Length);
pageContent.Replace(SoftBreak, "\r\n");
pageContent.Replace(HardBreak, "<br />");
//Prepend any headers that were added by wiki handlers.
foreach (var header in Headers)
{
pageContent.Insert(0, header);
}
HtmlResult = pageContent.ToString();
}
catch (Exception ex)
{
StoreCriticalError(ex);
}
ProcessingTime = DateTime.UtcNow - startTime;
Engine.CompletionHandler.Complete(this);
return this;
}
private int TransformAll(WikiString pageContent)
{
TransformIterations++;
_matchesStoredPerIteration = 0;
TransformComments(pageContent);
TransformHeadings(pageContent);
TransformScopeFunctions(pageContent);
TransformVariables(pageContent);
TransformLinks(pageContent);
TransformMarkup(pageContent);
TransformEmoji(pageContent);
TransformStandardFunctions(pageContent, true);
TransformStandardFunctions(pageContent, false);
TransformProcessingInstructionFunctions(pageContent);
//We have to replace a few times because we could have replace tags (guids) nested inside others.
int length;
do
{
length = pageContent.Length;
foreach (var v in Matches)
{
if (v.Value.AllowNestedDecode)
{
if (OmitMatches.Contains(v.Value.MatchType))
{
/// When matches are omitted, the entire match will be removed from the resulting wiki text.
pageContent.Replace(v.Key, string.Empty);
}
else
{
pageContent.Replace(v.Key, v.Value.Content);
}
}
}
} while (length != pageContent.Length);
return _matchesStoredPerIteration;
}
/// <summary>
/// Transform basic markup such as bold, italics, underline, etc. for single and multi-line.
/// </summary>
/// <param name="pageContent"></param>
private void TransformMarkup(WikiString pageContent)
{
var symbols = WikiUtility.GetApplicableSymbols(pageContent.Value);
foreach (var symbol in symbols)
{
var sequence = new string(symbol, 2);
var escapedSequence = Regex.Escape(sequence);
var rgx = new Regex(@$"{escapedSequence}(.*?){escapedSequence}", RegexOptions.IgnoreCase);
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(rgx.Matches(pageContent.ToString()));
foreach (var match in orderedMatches)
{
string body = match.Value.Substring(sequence.Length, match.Value.Length - sequence.Length * 2);
var result = Engine.MarkupHandler.Handle(this, symbol, body);
StoreHandlerResult(result, Constants.WikiMatchType.Markup, pageContent, match.Value, result.Content);
}
}
var sizeUpOrderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformHeaderMarkup().Matches(pageContent.ToString()));
foreach (var match in sizeUpOrderedMatches)
{
int headingMarkers = 0;
foreach (char c in match.Value)
{
if (c != '^')
{
break;
}
headingMarkers++;
}
if (headingMarkers >= 2 && headingMarkers <= 6)
{
string value = match.Value.Substring(headingMarkers, match.Value.Length - headingMarkers).Trim();
int fontSize = 1 + headingMarkers;
if (fontSize < 1) fontSize = 1;
string markup = "<font size=\"" + fontSize + "\">" + value + "</font>\r\n";
StoreMatch(Constants.WikiMatchType.Markup, pageContent, match.Value, markup);
}
}
}
/// <summary>
/// Transform inline and multi-line literal blocks. These are blocks where the content will not be wikified and contain code that is encoded to display verbatim on the page.
/// </summary>
/// <param name="pageContent"></param>
private void TransformLiterals(WikiString pageContent)
{
//TODO: May need to do the same thing we did with TransformBlocks() to match all these if they need to be nested.
//Transform literal strings, even encodes HTML so that it displays verbatim.
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformLiterals().Matches(pageContent.ToString()));
foreach (var match in orderedMatches)
{
string value = match.Value.Substring(2, match.Value.Length - 4);
value = HttpUtility.HtmlEncode(value);
StoreMatch(Constants.WikiMatchType.Literal, pageContent, match.Value, value.Replace("\r", "").Trim().Replace("\n", "<br />\r\n"), false);
}
}
/// <summary>
/// Matching nested blocks with regex was hell, I escaped with a loop. ¯\_(ツ)_/¯
/// </summary>
/// <param name="pageContent"></param>
private void TransformScopeFunctions(WikiString pageContent)
{
var content = pageContent.ToString();
string rawBlock = string.Empty;
int startPos = content.Length - 1;
while (true)
{
startPos = content.LastIndexOf("{{", startPos);
if (startPos < 0)
{
break;
}
int endPos = content.IndexOf("}}", startPos);
if (endPos < 0 || endPos < startPos)
{
var exception = new StringBuilder();
exception.AppendLine($"<strong>A parsing error occurred after position {startPos}:<br /></strong> Unable to locate closing tag.<br /><br />");
if (rawBlock?.Length > 0)
{
exception.AppendLine($"<strong>The last successfully parsed block was:</strong><br /> {rawBlock}");
}
exception.AppendLine($"<strong>The problem occurred after:</strong><br /> {pageContent.ToString().Substring(startPos)}<br /><br />");
exception.AppendLine($"<strong>The content the parser was working on is:</strong><br /> {pageContent}<br /><br />");
throw new Exception(exception.ToString());
}
rawBlock = content.Substring(startPos, endPos - startPos + 2);
var transformBlock = new WikiString(rawBlock);
TransformScopeFunctions(transformBlock, true);
TransformScopeFunctions(transformBlock, false);
content = content.Replace(rawBlock, transformBlock.ToString());
}
pageContent.Clear();
pageContent.Append(content);
}
/// <summary>
/// Transform blocks or sections of code, these are thinks like panels and alerts.
/// </summary>
/// <param name="pageContent"></param>
/// <param name="isFirstChance">Only process early functions (like code blocks)</param>
private void TransformScopeFunctions(WikiString pageContent, bool isFirstChance)
{
// {{([\\S\\s]*)}}
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformBlock().Matches(pageContent.ToString()));
var functionHandler = Engine.ScopeFunctionHandler;
foreach (var match in orderedMatches)
{
int paramEndIndex = -1;
FunctionCall function;
//We are going to mock up a function call:
string mockFunctionCall = "##" + match.Value.Trim([' ', '\t', '{', '}']);
try
{
function = FunctionParser.ParseAndGetFunctionCall(functionHandler.Prototypes, mockFunctionCall, out paramEndIndex);
var firstChanceFunctions = new string[] { "code" }; //Process these the first time through.
if (isFirstChance && firstChanceFunctions.Contains(function.Name.ToLower()) == false)
{
continue;
}
}
catch (Exception ex)
{
StoreError(pageContent, match.Value, ex.Message);
continue;
}
string scopeBody = mockFunctionCall.Substring(paramEndIndex).Trim();
try
{
var result = functionHandler.Handle(this, function, scopeBody);
StoreHandlerResult(result, Constants.WikiMatchType.ScopeFunction, pageContent, match.Value, scopeBody);
}
catch (Exception ex)
{
StoreError(pageContent, match.Value, ex.Message);
}
}
}
/// <summary>
/// Transform headings. These are the basic HTML H1-H6 headings but they are saved for the building of the table of contents.
/// </summary>
/// <param name="pageContent"></param>
private void TransformHeadings(WikiString pageContent)
{
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformSectionHeadings().Matches(pageContent.ToString()));
foreach (var match in orderedMatches)
{
int headingMarkers = 0;
foreach (char c in match.Value)
{
if (c != '=')
{
break;
}
headingMarkers++;
}
if (headingMarkers >= 2)
{
string link = _tocName + "_" + TableOfContents.Count.ToString();
string text = match.Value.Substring(headingMarkers, match.Value.Length - headingMarkers).Trim().Trim(['=']).Trim();
var result = Engine.HeadingHandler.Handle(this, headingMarkers, link, text);
if (!result.Instructions.Contains(Constants.HandlerResultInstruction.Skip))
{
TableOfContents.Add(new TableOfContentsTag(headingMarkers - 1, match.Index, link, text));
}
StoreHandlerResult(result, Constants.WikiMatchType.Heading, pageContent, match.Value, result.Content);
}
}
}
private void TransformComments(WikiString pageContent)
{
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformComments().Matches(pageContent.ToString()));
foreach (var match in orderedMatches)
{
var result = Engine.CommentHandler.Handle(this, match.Value);
StoreHandlerResult(result, Constants.WikiMatchType.Comment, pageContent, match.Value, result.Content);
}
}
private void TransformEmoji(WikiString pageContent)
{
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformEmoji().Matches(pageContent.ToString()));
foreach (var match in orderedMatches)
{
string key = match.Value.Trim().ToLower().Trim('%');
int scale = 100;
var parts = key.Split(',');
if (parts.Length > 1)
{
key = parts[0]; //Image key;
scale = int.Parse(parts[1]); //Image scale.
}
var result = Engine.EmojiHandler.Handle(this, $"%%{key}%%", scale);
StoreHandlerResult(result, Constants.WikiMatchType.Emoji, pageContent, match.Value, result.Content);
}
}
/// <summary>
/// Transform variables.
/// </summary>
/// <param name="pageContent"></param>
private void TransformVariables(WikiString pageContent)
{
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformVariables().Matches(pageContent.ToString()));
foreach (var match in orderedMatches)
{
string key = match.Value.Trim(['{', '}', ' ', '\t', '$']);
if (key.Contains("="))
{
var sections = key.Split('=');
key = sections[0].Trim();
var value = sections[1].Trim();
if (!Variables.TryAdd(key, value))
{
Variables[key] = value;
}
var identifier = StoreMatch(Constants.WikiMatchType.Variable, pageContent, match.Value, "");
pageContent.Replace($"{identifier}\n", $"{identifier}"); //Kill trailing newline.
}
else
{
if (Variables.TryGetValue(key, out string? value))
{
var identifier = StoreMatch(Constants.WikiMatchType.Variable, pageContent, match.Value, value);
pageContent.Replace($"{identifier}\n", $"{identifier}"); //Kill trailing newline.
}
else
{
throw new Exception($"The wiki variable {key} is not defined. It should be set with ##Set() before calling Get().");
}
}
}
}
/// <summary>
/// Transform links, these can be internal Wiki links or external links.
/// </summary>
/// <param name="pageContent"></param>
private void TransformLinks(WikiString pageContent)
{
//Parse external explicit links. eg. [[http://test.net]].
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformExplicitHTTPLinks().Matches(pageContent.ToString()));
foreach (var match in orderedMatches)
{
string link = match.Value.Substring(2, match.Value.Length - 4).Trim();
var args = FunctionParser.ParseRawArgumentsAddParenthesis(link);
if (args.Count > 1)
{
link = args[0];
string? text = args[1];
string imageTag = "image:";
string? image = null;
if (text.StartsWith(imageTag, StringComparison.CurrentCultureIgnoreCase))
{
image = text.Substring(imageTag.Length).Trim();
text = null;
}
var result = Engine.ExternalLinkHandler.Handle(this, link, text, image);
StoreHandlerResult(result, Constants.WikiMatchType.Link, pageContent, match.Value, string.Empty);
}
else
{
var result = Engine.ExternalLinkHandler.Handle(this, link, link, null);
StoreHandlerResult(result, Constants.WikiMatchType.Link, pageContent, match.Value, string.Empty);
}
}
//Parse external explicit links. eg. [[https://test.net]].
orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformExplicitHTTPsLinks().Matches(pageContent.ToString()));
foreach (var match in orderedMatches)
{
string link = match.Value.Substring(2, match.Value.Length - 4).Trim();
var args = FunctionParser.ParseRawArgumentsAddParenthesis(link);
if (args.Count > 1)
{
link = args[0];
string? text = args[1];
string imageTag = "image:";
string? image = null;
if (text.StartsWith(imageTag, StringComparison.CurrentCultureIgnoreCase))
{
image = text.Substring(imageTag.Length).Trim();
text = null;
}
var result = Engine.ExternalLinkHandler.Handle(this, link, text, image);
StoreHandlerResult(result, Constants.WikiMatchType.Link, pageContent, match.Value, string.Empty);
}
else
{
var result = Engine.ExternalLinkHandler.Handle(this, link, link, null);
StoreHandlerResult(result, Constants.WikiMatchType.Link, pageContent, match.Value, string.Empty);
}
}
//Parse internal links. eg [[About Us]], [[About Us, Learn about us]], etc..
orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformInternalDynamicLinks().Matches(pageContent.ToString()));
foreach (var match in orderedMatches)
{
string keyword = match.Value.Substring(2, match.Value.Length - 4);
var args = FunctionParser.ParseRawArgumentsAddParenthesis(keyword);
string pageName;
string text;
string? image = null;
int imageScale = 100;
if (args.Count == 1)
{
//Page navigation only.
text = WikiUtility.GetPageNamePart(args[0]); //Text will be page name since we have an image.
pageName = args[0];
}
else if (args.Count >= 2)
{
//Page navigation and explicit text (possibly image).
pageName = args[0];
string imageTag = "image:";
if (args[1].StartsWith(imageTag, StringComparison.CurrentCultureIgnoreCase))
{
image = args[1].Substring(imageTag.Length).Trim();
text = WikiUtility.GetPageNamePart(args[0]); //Text will be page name since we have an image.
}
else
{
text = args[1]; //Explicit text.
}
if (args.Count >= 3)
{
//Get the specified image scale.
if (int.TryParse(args[2], out imageScale) == false)
{
imageScale = 100;
}
}
}
else
{
StoreError(pageContent, match.Value, "The external link contains no page name.");
continue;
}
var pageNavigation = new NamespaceNavigation(pageName);
if (pageName.Trim().StartsWith("::"))
{
//The user explicitly specified the root (unnamed) namespace.
}
else if (string.IsNullOrEmpty(pageNavigation.Namespace))
{
//No namespace was specified, use the current page namespace.
pageNavigation.Namespace = Page.Namespace;
}
else
{
//Use the namespace that the user explicitly specified.
}
var result = Engine.InternalLinkHandler.Handle(this, pageNavigation, pageName.Trim(':'), text, image, imageScale);
if (!result.Instructions.Contains(Constants.HandlerResultInstruction.Skip))
{
OutgoingLinks.Add(new PageReference(pageName, pageNavigation.Canonical));
}
StoreHandlerResult(result, Constants.WikiMatchType.Link, pageContent, match.Value, string.Empty);
}
}
/// <summary>
/// Transform processing instructions are used to flag pages for specific needs such as deletion, review, draft, etc.
/// </summary>
/// <param name="pageContent"></param>
private void TransformProcessingInstructionFunctions(WikiString pageContent)
{
// <code>(\\@\\@[\\w-]+\\(\\))|(\\@\\@[\\w-]+\\(.*?\\))|(\\@\\@[\\w-]+)</code><br/>
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformProcessingInstructions().Matches(pageContent.ToString()));
var functionHandler = Engine.ProcessingInstructionFunctionHandler;
foreach (var match in orderedMatches)
{
FunctionCall function;
try
{
function = FunctionParser.ParseAndGetFunctionCall(functionHandler.Prototypes, match.Value, out int matchEndIndex);
}
catch (Exception ex)
{
StoreError(pageContent, match.Value, ex.Message);
continue;
}
try
{
var result = functionHandler.Handle(this, function, string.Empty);
StoreHandlerResult(result, Constants.WikiMatchType.Instruction, pageContent, match.Value, string.Empty);
}
catch (Exception ex)
{
StoreError(pageContent, match.Value, ex.Message);
}
}
}
/// <summary>
/// Transform functions is used to call wiki functions such as including template pages, setting tags and displaying images.
/// </summary>
/// <param name="pageContent"></param>
private void TransformStandardFunctions(WikiString pageContent, bool isFirstChance)
{
//Remove the last "(\#\#[\w-]+)" if you start to have matching problems:
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformFunctions().Matches(pageContent.ToString()));
var functionHandler = Engine.StandardFunctionHandler;
foreach (var match in orderedMatches)
{
FunctionCall function;
try
{
function = FunctionParser.ParseAndGetFunctionCall(functionHandler.Prototypes, match.Value, out int matchEndIndex);
}
catch (WikiFunctionPrototypeNotDefinedException ex)
{
var postProcessPrototypes = Engine.PostProcessingFunctionHandler.Prototypes;
var parsed = FunctionParser.ParseFunctionCall(postProcessPrototypes, match.Value);
if (parsed != default)
{
if (postProcessPrototypes.Exists(parsed.Prefix, parsed.Name))
{
continue; //This IS a function, but it is meant to be parsed at the end of processing.
}
}
StoreError(pageContent, match.Value, ex.Message);
continue;
}
catch (Exception ex)
{
StoreError(pageContent, match.Value, ex.Message);
continue;
}
var firstChanceFunctions = new string[] { "include", "inject" }; //Process these the first time through.
if (isFirstChance && firstChanceFunctions.Contains(function.Name.ToLower()) == false)
{
continue;
}
try
{
var result = functionHandler.Handle(this, function, string.Empty);
StoreHandlerResult(result, Constants.WikiMatchType.StandardFunction, pageContent, match.Value, string.Empty);
}
catch (Exception ex)
{
StoreError(pageContent, match.Value, ex.Message);
}
}
}
/// <summary>
/// Transform post-process are functions that must be called after all other transformations. For example, we can't build a table-of-contents until we have parsed the entire page.
/// </summary>
private void TransformPostProcessingFunctions(WikiString pageContent)
{
//Remove the last "(\#\#[\w-]+)" if you start to have matching problems:
var orderedMatches = WikiUtility.OrderMatchesByLengthDescending(
PrecompiledRegex.TransformPostProcess().Matches(pageContent.ToString()));
var functionHandler = Engine.PostProcessingFunctionHandler;
foreach (var match in orderedMatches)
{
FunctionCall function;
try
{
function = FunctionParser.ParseAndGetFunctionCall(functionHandler.Prototypes, match.Value, out int matchEndIndex);
}
catch (Exception ex)
{
StoreError(pageContent, match.Value, ex.Message);
continue;
}
try
{
var result = functionHandler.Handle(this, function, string.Empty);
StoreHandlerResult(result, Constants.WikiMatchType.StandardFunction, pageContent, match.Value, string.Empty);
}
catch (Exception ex)
{
StoreError(pageContent, match.Value, ex.Message);
}
}
}
private static void TransformWhitespace(WikiString pageContent)
{
string identifier = $"<!--{Guid.NewGuid()}-->";
//Replace new-lines with single character new line:
pageContent.Replace("\r\n", "\n");
//Replace new-lines with an identifier so we can identify the places we are going to introduce line-breaks:
pageContent.Replace("\n", identifier);
//Replace any consecutive to-be-line-breaks that we are introducing with single line-break identifiers.
pageContent.Replace($"{identifier}{identifier}", identifier);
//Swap in the real line-breaks.
pageContent.Replace(identifier, "<br />");
}
#region Utility.
private void StoreHandlerResult(HandlerResult result, Constants.WikiMatchType matchType, WikiString pageContent, string matchValue, string scopeBody)
{
if (result.Instructions.Contains(Constants.HandlerResultInstruction.Skip))
{
return;
}
bool allowNestedDecode = !result.Instructions.Contains(Constants.HandlerResultInstruction.DisallowNestedProcessing);
string identifier;
if (result.Instructions.Contains(Constants.HandlerResultInstruction.OnlyReplaceFirstMatch))
{
identifier = StoreFirstMatch(matchType, pageContent, matchValue, result.Content, allowNestedDecode);
}
else
{
identifier = StoreMatch(matchType, pageContent, matchValue, result.Content, allowNestedDecode);
}
foreach (var instruction in result.Instructions)
{
switch (instruction)
{
case Constants.HandlerResultInstruction.TruncateTrailingLine:
pageContent.Replace($"{identifier}\n", $"{identifier}"); //Kill trailing newline.
break;
}
}
}
private void StoreCriticalError(Exception ex)
{
Engine.ExceptionHandler.Log(this, ex, $"Page: {Page.Navigation}, Error: {ex.Message}");
ErrorCount++;
HtmlResult = WikiUtility.WarningCard("Wiki Parser Exception", ex.Message);
}
private string StoreError(WikiString pageContent, string match, string value)
{
Engine.ExceptionHandler.Log(this, null, $"Page: {Page.Navigation}, Error: {value}");
ErrorCount++;
_matchesStoredPerIteration++;
string identifier = $"<!--{Guid.NewGuid()}-->";
var matchSet = new WikiMatchSet()
{
Content = $"<i><font size=\"3\" color=\"#BB0000\">{{{value}}}</font></a>",
AllowNestedDecode = false,
MatchType = Constants.WikiMatchType.Error
};
Matches.Add(identifier, matchSet);
pageContent.Replace(match, identifier);
return identifier;
}
private string StoreMatch(Constants.WikiMatchType matchType, WikiString pageContent, string match, string value, bool allowNestedDecode = true)
{
MatchCount++;
_matchesStoredPerIteration++;
string identifier = $"<!--{Guid.NewGuid()}-->";
var matchSet = new WikiMatchSet()
{
MatchType = matchType,
Content = value,
AllowNestedDecode = allowNestedDecode
};
Matches.Add(identifier, matchSet);
pageContent.Replace(match, identifier);
return identifier;
}
private string StoreFirstMatch(Constants.WikiMatchType matchType, WikiString pageContent, string match, string value, bool allowNestedDecode = true)
{
MatchCount++;
_matchesStoredPerIteration++;
string identifier = $"<!--{Guid.NewGuid()}-->";
var matchSet = new WikiMatchSet()
{
MatchType = matchType,
Content = value,
AllowNestedDecode = allowNestedDecode
};
Matches.Add(identifier, matchSet);
var pageContentCopy = NTDLS.Helpers.Text.ReplaceFirstOccurrence(pageContent.ToString(), match, identifier);
pageContent.Clear();
pageContent.Append(pageContentCopy);
return identifier;
}
/// <summary>
/// Used to generate unique and regenerable tokens so different wikification process can identify
/// their own query strings. For instance, we can have more than one pager on a wiki page, this
/// allows each pager to track its own current page in the query string.
/// </summary>
/// <returns></returns>
public string GetNextQueryToken()
{
_queryTokenHash = ZelWiki.Security.Helpers.Sha256(ZelWiki.Security.Helpers.EncryptString(ZelWiki.Security.Helpers.MachineKey, _queryTokenHash));
return $"H{ZelWiki.Security.Helpers.Crc32(_queryTokenHash)}";
}
#endregion
}
}

View File

@@ -0,0 +1,22 @@
<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>
<ProjectReference Include="..\ZelWiki.Engine.Function\ZelWiki.Engine.Function.csproj" />
<ProjectReference Include="..\ZelWiki.Engine.Library\ZelWiki.Engine.Library.csproj" />
<ProjectReference Include="..\ZelWiki.Library\ZelWiki.Library.csproj" />
<ProjectReference Include="..\ZelWiki.Models\ZelWiki.Models.csproj" />
<ProjectReference Include="..\ZelWiki.Security\ZelWiki.Security.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,760 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {
"TightWiki.Engine/2.20.1": {
"dependencies": {
"TightWiki.Engine.Function": "2.20.1",
"TightWiki.Engine.Library": "2.20.1",
"TightWiki.Library": "2.20.1",
"TightWiki.Models": "2.20.1",
"TightWiki.Security": "2.20.1"
},
"runtime": {
"TightWiki.Engine.dll": {}
}
},
"Dapper/2.1.35": {
"runtime": {
"lib/net7.0/Dapper.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.1.35.13827"
}
}
},
"Magick.NET-Q8-AnyCPU/14.4.0": {
"dependencies": {
"Magick.NET.Core": "14.4.0"
},
"runtime": {
"lib/net8.0/Magick.NET-Q8-AnyCPU.dll": {
"assemblyVersion": "14.4.0.0",
"fileVersion": "14.4.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm64/native/Magick.Native-Q8-arm64.dll.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-x64/native/Magick.Native-Q8-x64.dll.so": {
"rid": "linux-musl-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/Magick.Native-Q8-x64.dll.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/Magick.Native-Q8-arm64.dll.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/Magick.Native-Q8-x64.dll.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/Magick.Native-Q8-arm64.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "7.1.1.43"
},
"runtimes/win-x64/native/Magick.Native-Q8-x64.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "7.1.1.43"
},
"runtimes/win-x86/native/Magick.Native-Q8-x86.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "7.1.1.43"
}
}
},
"Magick.NET.Core/14.4.0": {
"runtime": {
"lib/net8.0/Magick.NET.Core.dll": {
"assemblyVersion": "14.4.0.0",
"fileVersion": "14.4.0.0"
}
}
},
"Microsoft.AspNetCore.Cryptography.Internal/9.0.1": {},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.1": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "9.0.1"
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "9.0.1",
"Microsoft.Extensions.Identity.Stores": "9.0.1"
},
"runtime": {
"lib/net9.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61009"
}
}
},
"Microsoft.Data.Sqlite.Core/9.0.0": {
"dependencies": {
"SQLitePCLRaw.core": "2.1.10"
},
"runtime": {
"lib/net8.0/Microsoft.Data.Sqlite.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52902"
}
}
},
"Microsoft.EntityFrameworkCore/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Abstractions": "9.0.1",
"Microsoft.EntityFrameworkCore.Analyzers": "9.0.1",
"Microsoft.Extensions.Caching.Memory": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.EntityFrameworkCore.Abstractions/9.0.1": {
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.EntityFrameworkCore.Analyzers/9.0.1": {},
"Microsoft.EntityFrameworkCore.Relational/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore": "9.0.1",
"Microsoft.Extensions.Caching.Memory": "9.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Caching.Memory/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1",
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.DependencyInjection/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1"
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.1": {},
"Microsoft.Extensions.Identity.Core/9.0.1": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1"
}
},
"Microsoft.Extensions.Identity.Stores/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "9.0.1",
"Microsoft.Extensions.Identity.Core": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
}
},
"Microsoft.Extensions.Logging/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1"
}
},
"Microsoft.Extensions.Logging.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1"
}
},
"Microsoft.Extensions.Options/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Primitives/9.0.1": {},
"NTDLS.Helpers/1.3.11": {
"dependencies": {
"Microsoft.Extensions.Caching.Memory": "9.0.1"
},
"runtime": {
"lib/net9.0/NTDLS.Helpers.dll": {
"assemblyVersion": "1.3.11.0",
"fileVersion": "1.3.11.0"
}
}
},
"NTDLS.SqliteDapperWrapper/1.1.4": {
"dependencies": {
"Dapper": "2.1.35",
"Microsoft.Data.Sqlite.Core": "9.0.0",
"SQLitePCLRaw.bundle_e_sqlite3": "2.1.10",
"System.Runtime.Caching": "9.0.0"
},
"runtime": {
"lib/net9.0/NTDLS.SqliteDapperWrapper.dll": {
"assemblyVersion": "1.1.4.0",
"fileVersion": "1.1.4.0"
}
}
},
"SixLabors.ImageSharp/3.1.6": {
"runtime": {
"lib/net6.0/SixLabors.ImageSharp.dll": {
"assemblyVersion": "3.0.0.0",
"fileVersion": "3.1.6.0"
}
}
},
"SQLitePCLRaw.bundle_e_sqlite3/2.1.10": {
"dependencies": {
"SQLitePCLRaw.lib.e_sqlite3": "2.1.10",
"SQLitePCLRaw.provider.e_sqlite3": "2.1.10"
},
"runtime": {
"lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"SQLitePCLRaw.core/2.1.10": {
"dependencies": {
"System.Memory": "4.5.3"
},
"runtime": {
"lib/netstandard2.0/SQLitePCLRaw.core.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"SQLitePCLRaw.lib.e_sqlite3/2.1.10": {
"runtimeTargets": {
"runtimes/browser-wasm/nativeassets/net9.0/e_sqlite3.a": {
"rid": "browser-wasm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm/native/libe_sqlite3.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libe_sqlite3.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-armel/native/libe_sqlite3.so": {
"rid": "linux-armel",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-mips64/native/libe_sqlite3.so": {
"rid": "linux-mips64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-arm/native/libe_sqlite3.so": {
"rid": "linux-musl-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-arm64/native/libe_sqlite3.so": {
"rid": "linux-musl-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-s390x/native/libe_sqlite3.so": {
"rid": "linux-musl-s390x",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-x64/native/libe_sqlite3.so": {
"rid": "linux-musl-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-ppc64le/native/libe_sqlite3.so": {
"rid": "linux-ppc64le",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-s390x/native/libe_sqlite3.so": {
"rid": "linux-s390x",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libe_sqlite3.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x86/native/libe_sqlite3.so": {
"rid": "linux-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/maccatalyst-arm64/native/libe_sqlite3.dylib": {
"rid": "maccatalyst-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/maccatalyst-x64/native/libe_sqlite3.dylib": {
"rid": "maccatalyst-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libe_sqlite3.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libe_sqlite3.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm/native/e_sqlite3.dll": {
"rid": "win-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/e_sqlite3.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/e_sqlite3.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/e_sqlite3.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"SQLitePCLRaw.provider.e_sqlite3/2.1.10": {
"dependencies": {
"SQLitePCLRaw.core": "2.1.10"
},
"runtime": {
"lib/net6.0/SQLitePCLRaw.provider.e_sqlite3.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"System.Configuration.ConfigurationManager/9.0.0": {
"dependencies": {
"System.Diagnostics.EventLog": "9.0.0",
"System.Security.Cryptography.ProtectedData": "9.0.0"
},
"runtime": {
"lib/net9.0/System.Configuration.ConfigurationManager.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"System.Diagnostics.EventLog/9.0.0": {},
"System.Memory/4.5.3": {},
"System.Runtime.Caching/9.0.0": {
"dependencies": {
"System.Configuration.ConfigurationManager": "9.0.0"
},
"runtime": {
"lib/net9.0/System.Runtime.Caching.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
},
"runtimeTargets": {
"runtimes/win/lib/net9.0/System.Runtime.Caching.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"System.Security.Cryptography.ProtectedData/9.0.0": {
"runtime": {
"lib/net9.0/System.Security.Cryptography.ProtectedData.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"TightWiki.Engine.Function/2.20.1": {
"dependencies": {
"NTDLS.Helpers": "1.3.11"
},
"runtime": {
"TightWiki.Engine.Function.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
},
"TightWiki.Engine.Library/2.20.1": {
"dependencies": {
"TightWiki.Engine.Function": "2.20.1",
"TightWiki.Library": "2.20.1"
},
"runtime": {
"TightWiki.Engine.Library.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
},
"TightWiki.Library/2.20.1": {
"dependencies": {
"Magick.NET-Q8-AnyCPU": "14.4.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "9.0.1",
"NTDLS.Helpers": "1.3.11",
"NTDLS.SqliteDapperWrapper": "1.1.4",
"SixLabors.ImageSharp": "3.1.6"
},
"runtime": {
"TightWiki.Library.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
},
"TightWiki.Models/2.20.1": {
"dependencies": {
"TightWiki.Library": "2.20.1"
},
"runtime": {
"TightWiki.Models.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
},
"TightWiki.Security/2.20.1": {
"runtime": {
"TightWiki.Security.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
}
}
},
"libraries": {
"TightWiki.Engine/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Dapper/2.1.35": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YKRwjVfrG7GYOovlGyQoMvr1/IJdn+7QzNXJxyMh0YfFF5yvDmTYaJOVYWsckreNjGsGSEtrMTpnzxTUq/tZQw==",
"path": "dapper/2.1.35",
"hashPath": "dapper.2.1.35.nupkg.sha512"
},
"Magick.NET-Q8-AnyCPU/14.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4f/6tga1izjCm29qGlPlTc7txquzd5cOgRFuCD6fh7tu+QS4Rd6gZpvRwrIb4e/Y0pE1JQyF2j4RRmQ23T8BLA==",
"path": "magick.net-q8-anycpu/14.4.0",
"hashPath": "magick.net-q8-anycpu.14.4.0.nupkg.sha512"
},
"Magick.NET.Core/14.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-nmSA3LWK77rZlQ085RBqFLr67GVFyz4mAcuiVGQ9LcNwbxUm4Zcte4D9N+TxAyew6CXzoyHAG3i7NeDgpuztWw==",
"path": "magick.net.core/14.4.0",
"hashPath": "magick.net.core.14.4.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.Internal/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-leaw8hC6wCKfAg2kAYT4plnaHI7o6bKB9IQy0yLWHmgV0GjE449pu0SEnnl7loEzdLgyQrKyVQvfz7wRErqmxQ==",
"path": "microsoft.aspnetcore.cryptography.internal/9.0.1",
"hashPath": "microsoft.aspnetcore.cryptography.internal.9.0.1.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/ibWvFYnxjCfOmtQtLTFUN9L70CrQH0daom6tE8/hlxTllUDeXM95fE45dC4u2tBOrfDqB6TPAkUzd/vWaAusA==",
"path": "microsoft.aspnetcore.cryptography.keyderivation/9.0.1",
"hashPath": "microsoft.aspnetcore.cryptography.keyderivation.9.0.1.nupkg.sha512"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yZyj/m7nBsrx6JDIv5KSYH44lJsQ4K5RLEWaYRFQVoIRvGXQxMZ/TUCa7PKFtR/o6nz1fmy6bVciV/eN/NmjUw==",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/9.0.1",
"hashPath": "microsoft.aspnetcore.identity.entityframeworkcore.9.0.1.nupkg.sha512"
},
"Microsoft.Data.Sqlite.Core/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cFfZjFL+tqzGYw9lB31EkV1IWF5xRQNk2k+MQd+Cf86Gl6zTeAoiZIFw5sRB1Z8OxpEC7nu+nTDsLSjieBAPTw==",
"path": "microsoft.data.sqlite.core/9.0.0",
"hashPath": "microsoft.data.sqlite.core.9.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-E25w4XugXNykTr5Y/sLDGaQ4lf67n9aXVPvsdGsIZjtuLmbvb9AoYP8D50CDejY8Ro4D9GK2kNHz5lWHqSK+wg==",
"path": "microsoft.entityframeworkcore/9.0.1",
"hashPath": "microsoft.entityframeworkcore.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qy+taGVLUs82zeWfc32hgGL8Z02ZqAneYvqZiiXbxF4g4PBUcPRuxHM9K20USmpeJbn4/fz40GkCbyyCy5ojOA==",
"path": "microsoft.entityframeworkcore.abstractions/9.0.1",
"hashPath": "microsoft.entityframeworkcore.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Analyzers/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-c6ZZJZhPKrXFkE2z/81PmuT69HBL6Y68Cl0xJ5SRrDjJyq5Aabkq15yCqPg9RQ3R0aFLVaJok2DA8R3TKpejDQ==",
"path": "microsoft.entityframeworkcore.analyzers/9.0.1",
"hashPath": "microsoft.entityframeworkcore.analyzers.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Relational/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7Iu0h4oevRvH4IwPzmxuIJGYRt55TapoREGlluk75KCO7lenN0+QnzCl6cQDY48uDoxAUpJbpK2xW7o8Ix69dw==",
"path": "microsoft.entityframeworkcore.relational/9.0.1",
"hashPath": "microsoft.entityframeworkcore.relational.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Eghsg9SyIvq0c8x6cUpe71BbQoOmsytXxqw2+ZNiTnP8a8SBLKgEor1zZeWhC0588IbS2M0PP4gXGAd9qF862Q==",
"path": "microsoft.extensions.caching.abstractions/9.0.1",
"hashPath": "microsoft.extensions.caching.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JeC+PP0BCKMwwLezPGDaciJSTfcFG4KjsG8rX4XZ6RSvzdxofrFmcnmW2L4+cWUcZSBTQ+Dd7H5Gs9XZz/OlCA==",
"path": "microsoft.extensions.caching.memory/9.0.1",
"hashPath": "microsoft.extensions.caching.memory.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+4hfFIY1UjBCXFTTOd+ojlDPq6mep3h5Vq5SYE3Pjucr7dNXmq4S/6P/LoVnZFz2e/5gWp/om4svUFgznfULcA==",
"path": "microsoft.extensions.configuration.abstractions/9.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qZI42ASAe3hr2zMSA6UjM92pO1LeDq5DcwkgSowXXPY8I56M76pEKrnmsKKbxagAf39AJxkH2DY4sb72ixyOrg==",
"path": "microsoft.extensions.dependencyinjection/9.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Tr74eP0oQ3AyC24ch17N8PuEkrPbD0JqIfENCYqmgKYNOmL8wQKzLJu3ObxTUDrjnn4rHoR1qKa37/eQyHmCDA==",
"path": "microsoft.extensions.dependencyinjection.abstractions/9.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Core/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dbvAQhwSyBbgB2BuVJ8PMVx7BK6WZHWhV/vsSnXl6sRLs9D7yXiIiRpgcPVvN5E/UkzRGW1EPXyc3t1EDxWSzg==",
"path": "microsoft.extensions.identity.core/9.0.1",
"hashPath": "microsoft.extensions.identity.core.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Stores/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lBErjDqd7i2RGpDr040lGm/HbMvxG/1Ta1aSFh91vYtSwEY2rtMI9o7xIDWgNmBKu8ko+XBxt0WcQh6TNFVe7g==",
"path": "microsoft.extensions.identity.stores/9.0.1",
"hashPath": "microsoft.extensions.identity.stores.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-E/k5r7S44DOW+08xQPnNbO8DKAQHhkspDboTThNJ6Z3/QBb4LC6gStNWzVmy3IvW7sUD+iJKf4fj0xEkqE7vnQ==",
"path": "microsoft.extensions.logging/9.0.1",
"hashPath": "microsoft.extensions.logging.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-w2gUqXN/jNIuvqYwX3lbXagsizVNXYyt6LlF57+tMve4JYCEgCMMAjRce6uKcDASJgpMbErRT1PfHy2OhbkqEA==",
"path": "microsoft.extensions.logging.abstractions/9.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-nggoNKnWcsBIAaOWHA+53XZWrslC7aGeok+aR+epDPRy7HI7GwMnGZE8yEsL2Onw7kMOHVHwKcsDls1INkNUJQ==",
"path": "microsoft.extensions.options/9.0.1",
"hashPath": "microsoft.extensions.options.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bHtTesA4lrSGD1ZUaMIx6frU3wyy0vYtTa/hM6gGQu5QNrydObv8T5COiGUWsisflAfmsaFOe9Xvw5NSO99z0g==",
"path": "microsoft.extensions.primitives/9.0.1",
"hashPath": "microsoft.extensions.primitives.9.0.1.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"
},
"NTDLS.SqliteDapperWrapper/1.1.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-enrMT/qcwqFh18APoN/XtydpC+9BuD5rVg2h/4Fl9IT8bC1aL7iLPJigdfkGf0mYYO3Y6EP91nL4Iv/5Dqay9A==",
"path": "ntdls.sqlitedapperwrapper/1.1.4",
"hashPath": "ntdls.sqlitedapperwrapper.1.1.4.nupkg.sha512"
},
"SixLabors.ImageSharp/3.1.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dHQ5jugF9v+5/LCVHCWVzaaIL6WOehqJy6eju/0VFYFPEj2WtqkGPoEV9EVQP83dHsdoqYaTuWpZdwAd37UwfA==",
"path": "sixlabors.imagesharp/3.1.6",
"hashPath": "sixlabors.imagesharp.3.1.6.nupkg.sha512"
},
"SQLitePCLRaw.bundle_e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-UxWuisvZ3uVcVOLJQv7urM/JiQH+v3TmaJc1BLKl5Dxfm/nTzTUrqswCqg/INiYLi61AXnHo1M1JPmPqqLnAdg==",
"path": "sqlitepclraw.bundle_e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.bundle_e_sqlite3.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.core/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Ii8JCbC7oiVclaE/mbDEK000EFIJ+ShRPwAvvV89GOZhQ+ZLtlnSWl6ksCNMKu/VGXA4Nfi2B7LhN/QFN9oBcw==",
"path": "sqlitepclraw.core/2.1.10",
"hashPath": "sqlitepclraw.core.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.lib.e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-mAr69tDbnf3QJpRy2nJz8Qdpebdil00fvycyByR58Cn9eARvR+UiG2Vzsp+4q1tV3ikwiYIjlXCQFc12GfebbA==",
"path": "sqlitepclraw.lib.e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.lib.e_sqlite3.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.provider.e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-uZVTi02C1SxqzgT0HqTWatIbWGb40iIkfc3FpFCpE/r7g6K0PqzDUeefL6P6HPhDtc6BacN3yQysfzP7ks+wSQ==",
"path": "sqlitepclraw.provider.e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.provider.e_sqlite3.2.1.10.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-PdkuMrwDhXoKFo/JxISIi9E8L+QGn9Iquj2OKDWHB6Y/HnUOuBouF7uS3R4Hw3FoNmwwMo6hWgazQdyHIIs27A==",
"path": "system.configuration.configurationmanager/9.0.0",
"hashPath": "system.configuration.configurationmanager.9.0.0.nupkg.sha512"
},
"System.Diagnostics.EventLog/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qd01+AqPhbAG14KtdtIqFk+cxHQFZ/oqRSCoxU1F+Q6Kv0cl726sl7RzU9yLFGd4BUOKdN4XojXF0pQf/R6YeA==",
"path": "system.diagnostics.eventlog/9.0.0",
"hashPath": "system.diagnostics.eventlog.9.0.0.nupkg.sha512"
},
"System.Memory/4.5.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
"path": "system.memory/4.5.3",
"hashPath": "system.memory.4.5.3.nupkg.sha512"
},
"System.Runtime.Caching/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4sUTbJkQZFxyhvc/CDcrAZOT8q1FWTECRsnnwGgKtC7wC3/uzhYSYUXywbCfkINjB35kgQxw9MalI/G3ZZfM3w==",
"path": "system.runtime.caching/9.0.0",
"hashPath": "system.runtime.caching.9.0.0.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CJW+x/F6fmRQ7N6K8paasTw9PDZp4t7G76UjGNlSDgoHPF0h08vTzLYbLZpOLEJSg35d5wy2jCXGo84EN05DpQ==",
"path": "system.security.cryptography.protecteddata/9.0.0",
"hashPath": "system.security.cryptography.protecteddata.9.0.0.nupkg.sha512"
},
"TightWiki.Engine.Function/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"TightWiki.Engine.Library/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"TightWiki.Library/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"TightWiki.Models/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"TightWiki.Security/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,760 @@
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v9.0",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v9.0": {
"ZelWiki.Engine/2.20.1": {
"dependencies": {
"ZelWiki.Engine.Function": "2.20.1",
"ZelWiki.Engine.Library": "2.20.1",
"ZelWiki.Library": "2.20.1",
"ZelWiki.Models": "2.20.1",
"ZelWiki.Security": "2.20.1"
},
"runtime": {
"ZelWiki.Engine.dll": {}
}
},
"Dapper/2.1.35": {
"runtime": {
"lib/net7.0/Dapper.dll": {
"assemblyVersion": "2.0.0.0",
"fileVersion": "2.1.35.13827"
}
}
},
"Magick.NET-Q8-AnyCPU/14.4.0": {
"dependencies": {
"Magick.NET.Core": "14.4.0"
},
"runtime": {
"lib/net8.0/Magick.NET-Q8-AnyCPU.dll": {
"assemblyVersion": "14.4.0.0",
"fileVersion": "14.4.0.0"
}
},
"runtimeTargets": {
"runtimes/linux-arm64/native/Magick.Native-Q8-arm64.dll.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-x64/native/Magick.Native-Q8-x64.dll.so": {
"rid": "linux-musl-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/Magick.Native-Q8-x64.dll.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/Magick.Native-Q8-arm64.dll.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/Magick.Native-Q8-x64.dll.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/Magick.Native-Q8-arm64.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "7.1.1.43"
},
"runtimes/win-x64/native/Magick.Native-Q8-x64.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "7.1.1.43"
},
"runtimes/win-x86/native/Magick.Native-Q8-x86.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "7.1.1.43"
}
}
},
"Magick.NET.Core/14.4.0": {
"runtime": {
"lib/net8.0/Magick.NET.Core.dll": {
"assemblyVersion": "14.4.0.0",
"fileVersion": "14.4.0.0"
}
}
},
"Microsoft.AspNetCore.Cryptography.Internal/9.0.1": {},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.1": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.Internal": "9.0.1"
}
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Relational": "9.0.1",
"Microsoft.Extensions.Identity.Stores": "9.0.1"
},
"runtime": {
"lib/net9.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61009"
}
}
},
"Microsoft.Data.Sqlite.Core/9.0.0": {
"dependencies": {
"SQLitePCLRaw.core": "2.1.10"
},
"runtime": {
"lib/net8.0/Microsoft.Data.Sqlite.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52902"
}
}
},
"Microsoft.EntityFrameworkCore/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore.Abstractions": "9.0.1",
"Microsoft.EntityFrameworkCore.Analyzers": "9.0.1",
"Microsoft.Extensions.Caching.Memory": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.EntityFrameworkCore.Abstractions/9.0.1": {
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.EntityFrameworkCore.Analyzers/9.0.1": {},
"Microsoft.EntityFrameworkCore.Relational/9.0.1": {
"dependencies": {
"Microsoft.EntityFrameworkCore": "9.0.1",
"Microsoft.Extensions.Caching.Memory": "9.0.1",
"Microsoft.Extensions.Configuration.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
},
"runtime": {
"lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": {
"assemblyVersion": "9.0.1.0",
"fileVersion": "9.0.124.61002"
}
}
},
"Microsoft.Extensions.Caching.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Caching.Memory/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "9.0.1",
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1",
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.DependencyInjection/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1"
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.1": {},
"Microsoft.Extensions.Identity.Core/9.0.1": {
"dependencies": {
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1"
}
},
"Microsoft.Extensions.Identity.Stores/9.0.1": {
"dependencies": {
"Microsoft.Extensions.Caching.Abstractions": "9.0.1",
"Microsoft.Extensions.Identity.Core": "9.0.1",
"Microsoft.Extensions.Logging": "9.0.1"
}
},
"Microsoft.Extensions.Logging/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection": "9.0.1",
"Microsoft.Extensions.Logging.Abstractions": "9.0.1",
"Microsoft.Extensions.Options": "9.0.1"
}
},
"Microsoft.Extensions.Logging.Abstractions/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1"
}
},
"Microsoft.Extensions.Options/9.0.1": {
"dependencies": {
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.1",
"Microsoft.Extensions.Primitives": "9.0.1"
}
},
"Microsoft.Extensions.Primitives/9.0.1": {},
"NTDLS.Helpers/1.3.11": {
"dependencies": {
"Microsoft.Extensions.Caching.Memory": "9.0.1"
},
"runtime": {
"lib/net9.0/NTDLS.Helpers.dll": {
"assemblyVersion": "1.3.11.0",
"fileVersion": "1.3.11.0"
}
}
},
"NTDLS.SqliteDapperWrapper/1.1.4": {
"dependencies": {
"Dapper": "2.1.35",
"Microsoft.Data.Sqlite.Core": "9.0.0",
"SQLitePCLRaw.bundle_e_sqlite3": "2.1.10",
"System.Runtime.Caching": "9.0.0"
},
"runtime": {
"lib/net9.0/NTDLS.SqliteDapperWrapper.dll": {
"assemblyVersion": "1.1.4.0",
"fileVersion": "1.1.4.0"
}
}
},
"SixLabors.ImageSharp/3.1.6": {
"runtime": {
"lib/net6.0/SixLabors.ImageSharp.dll": {
"assemblyVersion": "3.0.0.0",
"fileVersion": "3.1.6.0"
}
}
},
"SQLitePCLRaw.bundle_e_sqlite3/2.1.10": {
"dependencies": {
"SQLitePCLRaw.lib.e_sqlite3": "2.1.10",
"SQLitePCLRaw.provider.e_sqlite3": "2.1.10"
},
"runtime": {
"lib/netstandard2.0/SQLitePCLRaw.batteries_v2.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"SQLitePCLRaw.core/2.1.10": {
"dependencies": {
"System.Memory": "4.5.3"
},
"runtime": {
"lib/netstandard2.0/SQLitePCLRaw.core.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"SQLitePCLRaw.lib.e_sqlite3/2.1.10": {
"runtimeTargets": {
"runtimes/browser-wasm/nativeassets/net9.0/e_sqlite3.a": {
"rid": "browser-wasm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm/native/libe_sqlite3.so": {
"rid": "linux-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-arm64/native/libe_sqlite3.so": {
"rid": "linux-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-armel/native/libe_sqlite3.so": {
"rid": "linux-armel",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-mips64/native/libe_sqlite3.so": {
"rid": "linux-mips64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-arm/native/libe_sqlite3.so": {
"rid": "linux-musl-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-arm64/native/libe_sqlite3.so": {
"rid": "linux-musl-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-s390x/native/libe_sqlite3.so": {
"rid": "linux-musl-s390x",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-musl-x64/native/libe_sqlite3.so": {
"rid": "linux-musl-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-ppc64le/native/libe_sqlite3.so": {
"rid": "linux-ppc64le",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-s390x/native/libe_sqlite3.so": {
"rid": "linux-s390x",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x64/native/libe_sqlite3.so": {
"rid": "linux-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/linux-x86/native/libe_sqlite3.so": {
"rid": "linux-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/maccatalyst-arm64/native/libe_sqlite3.dylib": {
"rid": "maccatalyst-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/maccatalyst-x64/native/libe_sqlite3.dylib": {
"rid": "maccatalyst-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-arm64/native/libe_sqlite3.dylib": {
"rid": "osx-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/osx-x64/native/libe_sqlite3.dylib": {
"rid": "osx-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm/native/e_sqlite3.dll": {
"rid": "win-arm",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-arm64/native/e_sqlite3.dll": {
"rid": "win-arm64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x64/native/e_sqlite3.dll": {
"rid": "win-x64",
"assetType": "native",
"fileVersion": "0.0.0.0"
},
"runtimes/win-x86/native/e_sqlite3.dll": {
"rid": "win-x86",
"assetType": "native",
"fileVersion": "0.0.0.0"
}
}
},
"SQLitePCLRaw.provider.e_sqlite3/2.1.10": {
"dependencies": {
"SQLitePCLRaw.core": "2.1.10"
},
"runtime": {
"lib/net6.0/SQLitePCLRaw.provider.e_sqlite3.dll": {
"assemblyVersion": "2.1.10.2445",
"fileVersion": "2.1.10.2445"
}
}
},
"System.Configuration.ConfigurationManager/9.0.0": {
"dependencies": {
"System.Diagnostics.EventLog": "9.0.0",
"System.Security.Cryptography.ProtectedData": "9.0.0"
},
"runtime": {
"lib/net9.0/System.Configuration.ConfigurationManager.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"System.Diagnostics.EventLog/9.0.0": {},
"System.Memory/4.5.3": {},
"System.Runtime.Caching/9.0.0": {
"dependencies": {
"System.Configuration.ConfigurationManager": "9.0.0"
},
"runtime": {
"lib/net9.0/System.Runtime.Caching.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
},
"runtimeTargets": {
"runtimes/win/lib/net9.0/System.Runtime.Caching.dll": {
"rid": "win",
"assetType": "runtime",
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"System.Security.Cryptography.ProtectedData/9.0.0": {
"runtime": {
"lib/net9.0/System.Security.Cryptography.ProtectedData.dll": {
"assemblyVersion": "9.0.0.0",
"fileVersion": "9.0.24.52809"
}
}
},
"ZelWiki.Engine.Function/2.20.1": {
"dependencies": {
"NTDLS.Helpers": "1.3.11"
},
"runtime": {
"ZelWiki.Engine.Function.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
},
"ZelWiki.Engine.Library/2.20.1": {
"dependencies": {
"ZelWiki.Engine.Function": "2.20.1",
"ZelWiki.Library": "2.20.1"
},
"runtime": {
"ZelWiki.Engine.Library.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
},
"ZelWiki.Library/2.20.1": {
"dependencies": {
"Magick.NET-Q8-AnyCPU": "14.4.0",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "9.0.1",
"NTDLS.Helpers": "1.3.11",
"NTDLS.SqliteDapperWrapper": "1.1.4",
"SixLabors.ImageSharp": "3.1.6"
},
"runtime": {
"ZelWiki.Library.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
},
"ZelWiki.Models/2.20.1": {
"dependencies": {
"ZelWiki.Library": "2.20.1"
},
"runtime": {
"ZelWiki.Models.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
},
"ZelWiki.Security/2.20.1": {
"runtime": {
"ZelWiki.Security.dll": {
"assemblyVersion": "2.20.1",
"fileVersion": "2.20.1.0"
}
}
}
}
},
"libraries": {
"ZelWiki.Engine/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"Dapper/2.1.35": {
"type": "package",
"serviceable": true,
"sha512": "sha512-YKRwjVfrG7GYOovlGyQoMvr1/IJdn+7QzNXJxyMh0YfFF5yvDmTYaJOVYWsckreNjGsGSEtrMTpnzxTUq/tZQw==",
"path": "dapper/2.1.35",
"hashPath": "dapper.2.1.35.nupkg.sha512"
},
"Magick.NET-Q8-AnyCPU/14.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4f/6tga1izjCm29qGlPlTc7txquzd5cOgRFuCD6fh7tu+QS4Rd6gZpvRwrIb4e/Y0pE1JQyF2j4RRmQ23T8BLA==",
"path": "magick.net-q8-anycpu/14.4.0",
"hashPath": "magick.net-q8-anycpu.14.4.0.nupkg.sha512"
},
"Magick.NET.Core/14.4.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-nmSA3LWK77rZlQ085RBqFLr67GVFyz4mAcuiVGQ9LcNwbxUm4Zcte4D9N+TxAyew6CXzoyHAG3i7NeDgpuztWw==",
"path": "magick.net.core/14.4.0",
"hashPath": "magick.net.core.14.4.0.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.Internal/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-leaw8hC6wCKfAg2kAYT4plnaHI7o6bKB9IQy0yLWHmgV0GjE449pu0SEnnl7loEzdLgyQrKyVQvfz7wRErqmxQ==",
"path": "microsoft.aspnetcore.cryptography.internal/9.0.1",
"hashPath": "microsoft.aspnetcore.cryptography.internal.9.0.1.nupkg.sha512"
},
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-/ibWvFYnxjCfOmtQtLTFUN9L70CrQH0daom6tE8/hlxTllUDeXM95fE45dC4u2tBOrfDqB6TPAkUzd/vWaAusA==",
"path": "microsoft.aspnetcore.cryptography.keyderivation/9.0.1",
"hashPath": "microsoft.aspnetcore.cryptography.keyderivation.9.0.1.nupkg.sha512"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-yZyj/m7nBsrx6JDIv5KSYH44lJsQ4K5RLEWaYRFQVoIRvGXQxMZ/TUCa7PKFtR/o6nz1fmy6bVciV/eN/NmjUw==",
"path": "microsoft.aspnetcore.identity.entityframeworkcore/9.0.1",
"hashPath": "microsoft.aspnetcore.identity.entityframeworkcore.9.0.1.nupkg.sha512"
},
"Microsoft.Data.Sqlite.Core/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-cFfZjFL+tqzGYw9lB31EkV1IWF5xRQNk2k+MQd+Cf86Gl6zTeAoiZIFw5sRB1Z8OxpEC7nu+nTDsLSjieBAPTw==",
"path": "microsoft.data.sqlite.core/9.0.0",
"hashPath": "microsoft.data.sqlite.core.9.0.0.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-E25w4XugXNykTr5Y/sLDGaQ4lf67n9aXVPvsdGsIZjtuLmbvb9AoYP8D50CDejY8Ro4D9GK2kNHz5lWHqSK+wg==",
"path": "microsoft.entityframeworkcore/9.0.1",
"hashPath": "microsoft.entityframeworkcore.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qy+taGVLUs82zeWfc32hgGL8Z02ZqAneYvqZiiXbxF4g4PBUcPRuxHM9K20USmpeJbn4/fz40GkCbyyCy5ojOA==",
"path": "microsoft.entityframeworkcore.abstractions/9.0.1",
"hashPath": "microsoft.entityframeworkcore.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Analyzers/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-c6ZZJZhPKrXFkE2z/81PmuT69HBL6Y68Cl0xJ5SRrDjJyq5Aabkq15yCqPg9RQ3R0aFLVaJok2DA8R3TKpejDQ==",
"path": "microsoft.entityframeworkcore.analyzers/9.0.1",
"hashPath": "microsoft.entityframeworkcore.analyzers.9.0.1.nupkg.sha512"
},
"Microsoft.EntityFrameworkCore.Relational/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-7Iu0h4oevRvH4IwPzmxuIJGYRt55TapoREGlluk75KCO7lenN0+QnzCl6cQDY48uDoxAUpJbpK2xW7o8Ix69dw==",
"path": "microsoft.entityframeworkcore.relational/9.0.1",
"hashPath": "microsoft.entityframeworkcore.relational.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Eghsg9SyIvq0c8x6cUpe71BbQoOmsytXxqw2+ZNiTnP8a8SBLKgEor1zZeWhC0588IbS2M0PP4gXGAd9qF862Q==",
"path": "microsoft.extensions.caching.abstractions/9.0.1",
"hashPath": "microsoft.extensions.caching.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Caching.Memory/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-JeC+PP0BCKMwwLezPGDaciJSTfcFG4KjsG8rX4XZ6RSvzdxofrFmcnmW2L4+cWUcZSBTQ+Dd7H5Gs9XZz/OlCA==",
"path": "microsoft.extensions.caching.memory/9.0.1",
"hashPath": "microsoft.extensions.caching.memory.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-+4hfFIY1UjBCXFTTOd+ojlDPq6mep3h5Vq5SYE3Pjucr7dNXmq4S/6P/LoVnZFz2e/5gWp/om4svUFgznfULcA==",
"path": "microsoft.extensions.configuration.abstractions/9.0.1",
"hashPath": "microsoft.extensions.configuration.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qZI42ASAe3hr2zMSA6UjM92pO1LeDq5DcwkgSowXXPY8I56M76pEKrnmsKKbxagAf39AJxkH2DY4sb72ixyOrg==",
"path": "microsoft.extensions.dependencyinjection/9.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Tr74eP0oQ3AyC24ch17N8PuEkrPbD0JqIfENCYqmgKYNOmL8wQKzLJu3ObxTUDrjnn4rHoR1qKa37/eQyHmCDA==",
"path": "microsoft.extensions.dependencyinjection.abstractions/9.0.1",
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Core/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dbvAQhwSyBbgB2BuVJ8PMVx7BK6WZHWhV/vsSnXl6sRLs9D7yXiIiRpgcPVvN5E/UkzRGW1EPXyc3t1EDxWSzg==",
"path": "microsoft.extensions.identity.core/9.0.1",
"hashPath": "microsoft.extensions.identity.core.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Identity.Stores/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-lBErjDqd7i2RGpDr040lGm/HbMvxG/1Ta1aSFh91vYtSwEY2rtMI9o7xIDWgNmBKu8ko+XBxt0WcQh6TNFVe7g==",
"path": "microsoft.extensions.identity.stores/9.0.1",
"hashPath": "microsoft.extensions.identity.stores.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-E/k5r7S44DOW+08xQPnNbO8DKAQHhkspDboTThNJ6Z3/QBb4LC6gStNWzVmy3IvW7sUD+iJKf4fj0xEkqE7vnQ==",
"path": "microsoft.extensions.logging/9.0.1",
"hashPath": "microsoft.extensions.logging.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Logging.Abstractions/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-w2gUqXN/jNIuvqYwX3lbXagsizVNXYyt6LlF57+tMve4JYCEgCMMAjRce6uKcDASJgpMbErRT1PfHy2OhbkqEA==",
"path": "microsoft.extensions.logging.abstractions/9.0.1",
"hashPath": "microsoft.extensions.logging.abstractions.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Options/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-nggoNKnWcsBIAaOWHA+53XZWrslC7aGeok+aR+epDPRy7HI7GwMnGZE8yEsL2Onw7kMOHVHwKcsDls1INkNUJQ==",
"path": "microsoft.extensions.options/9.0.1",
"hashPath": "microsoft.extensions.options.9.0.1.nupkg.sha512"
},
"Microsoft.Extensions.Primitives/9.0.1": {
"type": "package",
"serviceable": true,
"sha512": "sha512-bHtTesA4lrSGD1ZUaMIx6frU3wyy0vYtTa/hM6gGQu5QNrydObv8T5COiGUWsisflAfmsaFOe9Xvw5NSO99z0g==",
"path": "microsoft.extensions.primitives/9.0.1",
"hashPath": "microsoft.extensions.primitives.9.0.1.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"
},
"NTDLS.SqliteDapperWrapper/1.1.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-enrMT/qcwqFh18APoN/XtydpC+9BuD5rVg2h/4Fl9IT8bC1aL7iLPJigdfkGf0mYYO3Y6EP91nL4Iv/5Dqay9A==",
"path": "ntdls.sqlitedapperwrapper/1.1.4",
"hashPath": "ntdls.sqlitedapperwrapper.1.1.4.nupkg.sha512"
},
"SixLabors.ImageSharp/3.1.6": {
"type": "package",
"serviceable": true,
"sha512": "sha512-dHQ5jugF9v+5/LCVHCWVzaaIL6WOehqJy6eju/0VFYFPEj2WtqkGPoEV9EVQP83dHsdoqYaTuWpZdwAd37UwfA==",
"path": "sixlabors.imagesharp/3.1.6",
"hashPath": "sixlabors.imagesharp.3.1.6.nupkg.sha512"
},
"SQLitePCLRaw.bundle_e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-UxWuisvZ3uVcVOLJQv7urM/JiQH+v3TmaJc1BLKl5Dxfm/nTzTUrqswCqg/INiYLi61AXnHo1M1JPmPqqLnAdg==",
"path": "sqlitepclraw.bundle_e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.bundle_e_sqlite3.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.core/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-Ii8JCbC7oiVclaE/mbDEK000EFIJ+ShRPwAvvV89GOZhQ+ZLtlnSWl6ksCNMKu/VGXA4Nfi2B7LhN/QFN9oBcw==",
"path": "sqlitepclraw.core/2.1.10",
"hashPath": "sqlitepclraw.core.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.lib.e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-mAr69tDbnf3QJpRy2nJz8Qdpebdil00fvycyByR58Cn9eARvR+UiG2Vzsp+4q1tV3ikwiYIjlXCQFc12GfebbA==",
"path": "sqlitepclraw.lib.e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.lib.e_sqlite3.2.1.10.nupkg.sha512"
},
"SQLitePCLRaw.provider.e_sqlite3/2.1.10": {
"type": "package",
"serviceable": true,
"sha512": "sha512-uZVTi02C1SxqzgT0HqTWatIbWGb40iIkfc3FpFCpE/r7g6K0PqzDUeefL6P6HPhDtc6BacN3yQysfzP7ks+wSQ==",
"path": "sqlitepclraw.provider.e_sqlite3/2.1.10",
"hashPath": "sqlitepclraw.provider.e_sqlite3.2.1.10.nupkg.sha512"
},
"System.Configuration.ConfigurationManager/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-PdkuMrwDhXoKFo/JxISIi9E8L+QGn9Iquj2OKDWHB6Y/HnUOuBouF7uS3R4Hw3FoNmwwMo6hWgazQdyHIIs27A==",
"path": "system.configuration.configurationmanager/9.0.0",
"hashPath": "system.configuration.configurationmanager.9.0.0.nupkg.sha512"
},
"System.Diagnostics.EventLog/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-qd01+AqPhbAG14KtdtIqFk+cxHQFZ/oqRSCoxU1F+Q6Kv0cl726sl7RzU9yLFGd4BUOKdN4XojXF0pQf/R6YeA==",
"path": "system.diagnostics.eventlog/9.0.0",
"hashPath": "system.diagnostics.eventlog.9.0.0.nupkg.sha512"
},
"System.Memory/4.5.3": {
"type": "package",
"serviceable": true,
"sha512": "sha512-3oDzvc/zzetpTKWMShs1AADwZjQ/36HnsufHRPcOjyRAAMLDlu2iD33MBI2opxnezcVUtXyqDXXjoFMOU9c7SA==",
"path": "system.memory/4.5.3",
"hashPath": "system.memory.4.5.3.nupkg.sha512"
},
"System.Runtime.Caching/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-4sUTbJkQZFxyhvc/CDcrAZOT8q1FWTECRsnnwGgKtC7wC3/uzhYSYUXywbCfkINjB35kgQxw9MalI/G3ZZfM3w==",
"path": "system.runtime.caching/9.0.0",
"hashPath": "system.runtime.caching.9.0.0.nupkg.sha512"
},
"System.Security.Cryptography.ProtectedData/9.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-CJW+x/F6fmRQ7N6K8paasTw9PDZp4t7G76UjGNlSDgoHPF0h08vTzLYbLZpOLEJSg35d5wy2jCXGo84EN05DpQ==",
"path": "system.security.cryptography.protecteddata/9.0.0",
"hashPath": "system.security.cryptography.protecteddata.9.0.0.nupkg.sha512"
},
"ZelWiki.Engine.Function/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"ZelWiki.Engine.Library/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"ZelWiki.Library/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"ZelWiki.Models/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
},
"ZelWiki.Security/2.20.1": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]

View File

@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("TightWiki.Engine")]
[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")]
[assembly: System.Reflection.AssemblyTitleAttribute("TightWiki.Engine")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.20.1.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
e1819cfb6a24cc192a32f0f62d816aa78874adb131b23a0f2ef3ad9fff1a3cdb

View File

@@ -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
build_property.ProjectDir = E:\HelloWord\nysj2\TightWiki.Engine\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 9.0
build_property.EnableCodeStyleSeverity =

View File

@@ -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;

View File

@@ -0,0 +1 @@
91396170dfa075996b1782803b5d4bb67fe6a9c2fa8c8e756e5e0c146ade9092

View File

@@ -0,0 +1,23 @@
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Engine.deps.json
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Engine.dll
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Engine.pdb
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Engine.Function.dll
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Engine.Library.dll
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Library.dll
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Models.dll
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Security.dll
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Engine.Function.pdb
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Engine.Library.pdb
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Library.pdb
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Models.pdb
E:\HelloWord\nysj2\TightWiki.Engine\bin\Debug\net9.0\TightWiki.Security.pdb
E:\HelloWord\nysj2\TightWiki.Engine\obj\Debug\net9.0\TightWiki.Engine.csproj.AssemblyReference.cache
E:\HelloWord\nysj2\TightWiki.Engine\obj\Debug\net9.0\TightWiki.Engine.GeneratedMSBuildEditorConfig.editorconfig
E:\HelloWord\nysj2\TightWiki.Engine\obj\Debug\net9.0\TightWiki.Engine.AssemblyInfoInputs.cache
E:\HelloWord\nysj2\TightWiki.Engine\obj\Debug\net9.0\TightWiki.Engine.AssemblyInfo.cs
E:\HelloWord\nysj2\TightWiki.Engine\obj\Debug\net9.0\TightWiki.Engine.csproj.CoreCompileInputs.cache
E:\HelloWord\nysj2\TightWiki.Engine\obj\Debug\net9.0\TightWik.289BDD63.Up2Date
E:\HelloWord\nysj2\TightWiki.Engine\obj\Debug\net9.0\TightWiki.Engine.dll
E:\HelloWord\nysj2\TightWiki.Engine\obj\Debug\net9.0\refint\TightWiki.Engine.dll
E:\HelloWord\nysj2\TightWiki.Engine\obj\Debug\net9.0\TightWiki.Engine.pdb
E:\HelloWord\nysj2\TightWiki.Engine\obj\Debug\net9.0\ref\TightWiki.Engine.dll

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("ZelWiki.Engine")]
[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")]
[assembly: System.Reflection.AssemblyTitleAttribute("ZelWiki.Engine")]
[assembly: System.Reflection.AssemblyVersionAttribute("2.20.1.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
4a647dbe47f83cc3104a674547a77998cb9f8273e76028ca1d7d550dd6e22191

View File

@@ -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
build_property.ProjectDir = E:\HelloWord\nysj2\ZelWiki.Engine\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.EffectiveAnalysisLevelStyle = 9.0
build_property.EnableCodeStyleSeverity =

View File

@@ -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;

View File

@@ -0,0 +1 @@
16dfce8c8bfe54749bef1a8b91966f6099aadf0d571cb66f1085de61ddcd82c6

View File

@@ -0,0 +1,23 @@
E:\HelloWord\nysj2\ZelWiki.Engine\obj\Debug\net9.0\ZelWiki.Engine.csproj.AssemblyReference.cache
E:\HelloWord\nysj2\ZelWiki.Engine\obj\Debug\net9.0\ZelWiki.Engine.GeneratedMSBuildEditorConfig.editorconfig
E:\HelloWord\nysj2\ZelWiki.Engine\obj\Debug\net9.0\ZelWiki.Engine.AssemblyInfoInputs.cache
E:\HelloWord\nysj2\ZelWiki.Engine\obj\Debug\net9.0\ZelWiki.Engine.AssemblyInfo.cs
E:\HelloWord\nysj2\ZelWiki.Engine\obj\Debug\net9.0\ZelWiki.Engine.csproj.CoreCompileInputs.cache
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Engine.deps.json
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Engine.dll
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Engine.pdb
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Engine.Function.dll
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Engine.Library.dll
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Library.dll
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Models.dll
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Security.dll
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Engine.Function.pdb
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Engine.Library.pdb
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Library.pdb
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Models.pdb
E:\HelloWord\nysj2\ZelWiki.Engine\bin\Debug\net9.0\ZelWiki.Security.pdb
E:\HelloWord\nysj2\ZelWiki.Engine\obj\Debug\net9.0\ZelWiki..B92E11C2.Up2Date
E:\HelloWord\nysj2\ZelWiki.Engine\obj\Debug\net9.0\ZelWiki.Engine.dll
E:\HelloWord\nysj2\ZelWiki.Engine\obj\Debug\net9.0\refint\ZelWiki.Engine.dll
E:\HelloWord\nysj2\ZelWiki.Engine\obj\Debug\net9.0\ZelWiki.Engine.pdb
E:\HelloWord\nysj2\ZelWiki.Engine\obj\Debug\net9.0\ref\ZelWiki.Engine.dll

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,456 @@
{
"format": 1,
"restore": {
"E:\\HelloWord\\nysj2\\TightWiki.Engine\\TightWiki.Engine.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"
}
}
},
"E:\\HelloWord\\nysj2\\TightWiki.Engine.Library\\TightWiki.Engine.Library.csproj": {
"version": "2.20.1",
"restore": {
"projectUniqueName": "E:\\HelloWord\\nysj2\\TightWiki.Engine.Library\\TightWiki.Engine.Library.csproj",
"projectName": "TightWiki.Engine.Library",
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Engine.Library\\TightWiki.Engine.Library.csproj",
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
"outputPath": "E:\\HelloWord\\nysj2\\TightWiki.Engine.Library\\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": {
"E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj"
},
"E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"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"
}
}
},
"E:\\HelloWord\\nysj2\\TightWiki.Engine\\TightWiki.Engine.csproj": {
"version": "2.20.1",
"restore": {
"projectUniqueName": "E:\\HelloWord\\nysj2\\TightWiki.Engine\\TightWiki.Engine.csproj",
"projectName": "TightWiki.Engine",
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Engine\\TightWiki.Engine.csproj",
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
"outputPath": "E:\\HelloWord\\nysj2\\TightWiki.Engine\\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": {
"E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj"
},
"E:\\HelloWord\\nysj2\\TightWiki.Engine.Library\\TightWiki.Engine.Library.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Engine.Library\\TightWiki.Engine.Library.csproj"
},
"E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj"
},
"E:\\HelloWord\\nysj2\\TightWiki.Models\\TightWiki.Models.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Models\\TightWiki.Models.csproj"
},
"E:\\HelloWord\\nysj2\\TightWiki.Security\\TightWiki.Security.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Security\\TightWiki.Security.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"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"
}
}
},
"E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj": {
"version": "2.20.1",
"restore": {
"projectUniqueName": "E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj",
"projectName": "TightWiki.Library",
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj",
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
"outputPath": "E:\\HelloWord\\nysj2\\TightWiki.Library\\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": {
"Magick.NET-Q8-AnyCPU": {
"target": "Package",
"version": "[14.4.0, )"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package",
"version": "[9.0.1, )"
},
"NTDLS.Helpers": {
"target": "Package",
"version": "[1.3.11, )"
},
"NTDLS.SqliteDapperWrapper": {
"target": "Package",
"version": "[1.1.4, )"
},
"SixLabors.ImageSharp": {
"target": "Package",
"version": "[3.1.6, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.102/PortableRuntimeIdentifierGraph.json"
}
}
},
"E:\\HelloWord\\nysj2\\TightWiki.Models\\TightWiki.Models.csproj": {
"version": "2.20.1",
"restore": {
"projectUniqueName": "E:\\HelloWord\\nysj2\\TightWiki.Models\\TightWiki.Models.csproj",
"projectName": "TightWiki.Models",
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Models\\TightWiki.Models.csproj",
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
"outputPath": "E:\\HelloWord\\nysj2\\TightWiki.Models\\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": {
"E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"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"
}
}
},
"E:\\HelloWord\\nysj2\\TightWiki.Security\\TightWiki.Security.csproj": {
"version": "2.20.1",
"restore": {
"projectUniqueName": "E:\\HelloWord\\nysj2\\TightWiki.Security\\TightWiki.Security.csproj",
"projectName": "TightWiki.Security",
"projectPath": "E:\\HelloWord\\nysj2\\TightWiki.Security\\TightWiki.Security.csproj",
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
"outputPath": "E:\\HelloWord\\nysj2\\TightWiki.Security\\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",
"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"
}
}
}
}
}

View File

@@ -0,0 +1,19 @@
<?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>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\9.0.1\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\9.0.1\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props')" />
</ImportGroup>
</Project>

View File

@@ -0,0 +1,9 @@
<?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)sqlitepclraw.lib.e_sqlite3\2.1.10\buildTransitive\net9.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.10\buildTransitive\net9.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\9.0.1\buildTransitive\net8.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\9.0.1\buildTransitive\net8.0\Microsoft.Extensions.Options.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.1\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.1\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
<Import Project="$(NuGetPackageRoot)magick.net-q8-anycpu\14.4.0\buildTransitive\netstandard20\Magick.NET-Q8-AnyCPU.targets" Condition="Exists('$(NuGetPackageRoot)magick.net-q8-anycpu\14.4.0\buildTransitive\netstandard20\Magick.NET-Q8-AnyCPU.targets')" />
</ImportGroup>
</Project>

View File

@@ -0,0 +1,456 @@
{
"format": 1,
"restore": {
"E:\\HelloWord\\nysj2\\ZelWiki.Engine\\ZelWiki.Engine.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"
}
}
},
"E:\\HelloWord\\nysj2\\ZelWiki.Engine.Library\\ZelWiki.Engine.Library.csproj": {
"version": "2.20.1",
"restore": {
"projectUniqueName": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Library\\ZelWiki.Engine.Library.csproj",
"projectName": "ZelWiki.Engine.Library",
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Library\\ZelWiki.Engine.Library.csproj",
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
"outputPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Library\\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": {
"E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj"
},
"E:\\HelloWord\\nysj2\\ZelWiki.Library\\ZelWiki.Library.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Library\\ZelWiki.Library.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"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"
}
}
},
"E:\\HelloWord\\nysj2\\ZelWiki.Engine\\ZelWiki.Engine.csproj": {
"version": "2.20.1",
"restore": {
"projectUniqueName": "E:\\HelloWord\\nysj2\\ZelWiki.Engine\\ZelWiki.Engine.csproj",
"projectName": "ZelWiki.Engine",
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine\\ZelWiki.Engine.csproj",
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
"outputPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine\\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": {
"E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Function\\ZelWiki.Engine.Function.csproj"
},
"E:\\HelloWord\\nysj2\\ZelWiki.Engine.Library\\ZelWiki.Engine.Library.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine.Library\\ZelWiki.Engine.Library.csproj"
},
"E:\\HelloWord\\nysj2\\ZelWiki.Library\\ZelWiki.Library.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Library\\ZelWiki.Library.csproj"
},
"E:\\HelloWord\\nysj2\\ZelWiki.Models\\ZelWiki.Models.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Models\\ZelWiki.Models.csproj"
},
"E:\\HelloWord\\nysj2\\ZelWiki.Security\\ZelWiki.Security.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Security\\ZelWiki.Security.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"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"
}
}
},
"E:\\HelloWord\\nysj2\\ZelWiki.Library\\ZelWiki.Library.csproj": {
"version": "2.20.1",
"restore": {
"projectUniqueName": "E:\\HelloWord\\nysj2\\ZelWiki.Library\\ZelWiki.Library.csproj",
"projectName": "ZelWiki.Library",
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Library\\ZelWiki.Library.csproj",
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
"outputPath": "E:\\HelloWord\\nysj2\\ZelWiki.Library\\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": {
"Magick.NET-Q8-AnyCPU": {
"target": "Package",
"version": "[14.4.0, )"
},
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
"target": "Package",
"version": "[9.0.1, )"
},
"NTDLS.Helpers": {
"target": "Package",
"version": "[1.3.11, )"
},
"NTDLS.SqliteDapperWrapper": {
"target": "Package",
"version": "[1.1.4, )"
},
"SixLabors.ImageSharp": {
"target": "Package",
"version": "[3.1.6, )"
}
},
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.AspNetCore.App": {
"privateAssets": "none"
},
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\9.0.102/PortableRuntimeIdentifierGraph.json"
}
}
},
"E:\\HelloWord\\nysj2\\ZelWiki.Models\\ZelWiki.Models.csproj": {
"version": "2.20.1",
"restore": {
"projectUniqueName": "E:\\HelloWord\\nysj2\\ZelWiki.Models\\ZelWiki.Models.csproj",
"projectName": "ZelWiki.Models",
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Models\\ZelWiki.Models.csproj",
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
"outputPath": "E:\\HelloWord\\nysj2\\ZelWiki.Models\\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": {
"E:\\HelloWord\\nysj2\\ZelWiki.Library\\ZelWiki.Library.csproj": {
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Library\\ZelWiki.Library.csproj"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
},
"SdkAnalysisLevel": "9.0.100"
},
"frameworks": {
"net9.0": {
"targetAlias": "net9.0",
"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"
}
}
},
"E:\\HelloWord\\nysj2\\ZelWiki.Security\\ZelWiki.Security.csproj": {
"version": "2.20.1",
"restore": {
"projectUniqueName": "E:\\HelloWord\\nysj2\\ZelWiki.Security\\ZelWiki.Security.csproj",
"projectName": "ZelWiki.Security",
"projectPath": "E:\\HelloWord\\nysj2\\ZelWiki.Security\\ZelWiki.Security.csproj",
"packagesPath": "C:\\Users\\Zel\\.nuget\\packages\\",
"outputPath": "E:\\HelloWord\\nysj2\\ZelWiki.Security\\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",
"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"
}
}
}
}
}

View File

@@ -0,0 +1,19 @@
<?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>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\9.0.1\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\9.0.1\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props')" />
</ImportGroup>
</Project>

View File

@@ -0,0 +1,9 @@
<?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)sqlitepclraw.lib.e_sqlite3\2.1.10\buildTransitive\net9.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.10\buildTransitive\net9.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\9.0.1\buildTransitive\net8.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\9.0.1\buildTransitive\net8.0\Microsoft.Extensions.Options.targets')" />
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.1\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.1\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
<Import Project="$(NuGetPackageRoot)magick.net-q8-anycpu\14.4.0\buildTransitive\netstandard20\Magick.NET-Q8-AnyCPU.targets" Condition="Exists('$(NuGetPackageRoot)magick.net-q8-anycpu\14.4.0\buildTransitive\netstandard20\Magick.NET-Q8-AnyCPU.targets')" />
</ImportGroup>
</Project>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,43 @@
{
"version": 2,
"dgSpecHash": "x74wbvjaR+g=",
"success": true,
"projectFilePath": "E:\\HelloWord\\nysj2\\ZelWiki.Engine\\ZelWiki.Engine.csproj",
"expectedPackageFiles": [
"C:\\Users\\Zel\\.nuget\\packages\\dapper\\2.1.35\\dapper.2.1.35.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\magick.net-q8-anycpu\\14.4.0\\magick.net-q8-anycpu.14.4.0.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\magick.net.core\\14.4.0\\magick.net.core.14.4.0.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\9.0.1\\microsoft.aspnetcore.cryptography.internal.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.aspnetcore.cryptography.keyderivation\\9.0.1\\microsoft.aspnetcore.cryptography.keyderivation.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.aspnetcore.identity.entityframeworkcore\\9.0.1\\microsoft.aspnetcore.identity.entityframeworkcore.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.data.sqlite.core\\9.0.0\\microsoft.data.sqlite.core.9.0.0.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.entityframeworkcore\\9.0.1\\microsoft.entityframeworkcore.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\9.0.1\\microsoft.entityframeworkcore.abstractions.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\9.0.1\\microsoft.entityframeworkcore.analyzers.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\9.0.1\\microsoft.entityframeworkcore.relational.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\9.0.1\\microsoft.extensions.caching.abstractions.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.caching.memory\\9.0.1\\microsoft.extensions.caching.memory.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\9.0.1\\microsoft.extensions.configuration.abstractions.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\9.0.1\\microsoft.extensions.dependencyinjection.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\9.0.1\\microsoft.extensions.dependencyinjection.abstractions.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.identity.core\\9.0.1\\microsoft.extensions.identity.core.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.identity.stores\\9.0.1\\microsoft.extensions.identity.stores.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.logging\\9.0.1\\microsoft.extensions.logging.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\9.0.1\\microsoft.extensions.logging.abstractions.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.options\\9.0.1\\microsoft.extensions.options.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\microsoft.extensions.primitives\\9.0.1\\microsoft.extensions.primitives.9.0.1.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\ntdls.helpers\\1.3.11\\ntdls.helpers.1.3.11.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\ntdls.sqlitedapperwrapper\\1.1.4\\ntdls.sqlitedapperwrapper.1.1.4.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\sixlabors.imagesharp\\3.1.6\\sixlabors.imagesharp.3.1.6.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\2.1.10\\sqlitepclraw.bundle_e_sqlite3.2.1.10.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\sqlitepclraw.core\\2.1.10\\sqlitepclraw.core.2.1.10.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\sqlitepclraw.lib.e_sqlite3\\2.1.10\\sqlitepclraw.lib.e_sqlite3.2.1.10.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\2.1.10\\sqlitepclraw.provider.e_sqlite3.2.1.10.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\system.configuration.configurationmanager\\9.0.0\\system.configuration.configurationmanager.9.0.0.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\system.diagnostics.eventlog\\9.0.0\\system.diagnostics.eventlog.9.0.0.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\system.memory\\4.5.3\\system.memory.4.5.3.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\system.runtime.caching\\9.0.0\\system.runtime.caching.9.0.0.nupkg.sha512",
"C:\\Users\\Zel\\.nuget\\packages\\system.security.cryptography.protecteddata\\9.0.0\\system.security.cryptography.protecteddata.9.0.0.nupkg.sha512"
],
"logs": []
}

View File

@@ -0,0 +1 @@
"restore":{"projectUniqueName":"E:\\HelloWord\\nysj2\\TightWiki.Engine\\TightWiki.Engine.csproj","projectName":"TightWiki.Engine","projectPath":"E:\\HelloWord\\nysj2\\TightWiki.Engine\\TightWiki.Engine.csproj","outputPath":"E:\\HelloWord\\nysj2\\TightWiki.Engine\\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":{"E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj":{"projectPath":"E:\\HelloWord\\nysj2\\TightWiki.Engine.Function\\TightWiki.Engine.Function.csproj"},"E:\\HelloWord\\nysj2\\TightWiki.Engine.Library\\TightWiki.Engine.Library.csproj":{"projectPath":"E:\\HelloWord\\nysj2\\TightWiki.Engine.Library\\TightWiki.Engine.Library.csproj"},"E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj":{"projectPath":"E:\\HelloWord\\nysj2\\TightWiki.Library\\TightWiki.Library.csproj"},"E:\\HelloWord\\nysj2\\TightWiki.Models\\TightWiki.Models.csproj":{"projectPath":"E:\\HelloWord\\nysj2\\TightWiki.Models\\TightWiki.Models.csproj"},"E:\\HelloWord\\nysj2\\TightWiki.Security\\TightWiki.Security.csproj":{"projectPath":"E:\\HelloWord\\nysj2\\TightWiki.Security\\TightWiki.Security.csproj"}}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"}}"frameworks":{"net9.0":{"targetAlias":"net9.0","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"}}

View File

@@ -0,0 +1 @@
17399550709167930

View File

@@ -0,0 +1 @@
17400197436074625