diff --git a/Masuit.Tools.Abstractions/HtmlSanitizer/EventArgs.cs b/Masuit.Tools.Abstractions/HtmlSanitizer/EventArgs.cs
index fc32a921..a36c7690 100644
--- a/Masuit.Tools.Abstractions/HtmlSanitizer/EventArgs.cs
+++ b/Masuit.Tools.Abstractions/HtmlSanitizer/EventArgs.cs
@@ -10,7 +10,10 @@ namespace Ganss.Xss
///
/// Provides data for the event.
///
- public class PostProcessDomEventArgs : EventArgs
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public class PostProcessDomEventArgs(IHtmlDocument document) : EventArgs
{
///
/// Gets the document.
@@ -18,21 +21,16 @@ public class PostProcessDomEventArgs : EventArgs
///
/// The document.
///
- public IHtmlDocument Document { get; private set; }
-
- ///
- /// Initializes a new instance of the class.
- ///
- public PostProcessDomEventArgs(IHtmlDocument document)
- {
- Document = document;
- }
+ public IHtmlDocument Document { get; private set; } = document;
}
///
/// Provides data for the event.
///
- public class PostProcessNodeEventArgs : EventArgs
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public class PostProcessNodeEventArgs(IHtmlDocument document, INode node) : EventArgs
{
///
/// Gets the document.
@@ -40,7 +38,7 @@ public class PostProcessNodeEventArgs : EventArgs
///
/// The document.
///
- public IHtmlDocument Document { get; private set; }
+ public IHtmlDocument Document { get; private set; } = document;
///
/// Gets the DOM node to be processed.
@@ -48,7 +46,7 @@ public class PostProcessNodeEventArgs : EventArgs
///
/// The DOM node.
///
- public INode Node { get; private set; }
+ public INode Node { get; private set; } = node;
///
/// Gets the replacement nodes. Leave empty if no replacement should occur.
@@ -56,23 +54,18 @@ public class PostProcessNodeEventArgs : EventArgs
///
/// The replacement nodes.
///
- public ICollection ReplacementNodes { get; private set; }
-
- ///
- /// Initializes a new instance of the class.
- ///
- public PostProcessNodeEventArgs(IHtmlDocument document, INode node)
- {
- Document = document;
- Node = node;
- ReplacementNodes = new List();
- }
+ public ICollection ReplacementNodes { get; private set; } = new List();
}
///
/// Provides data for the event.
///
- public class RemovingTagEventArgs : CancelEventArgs
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The element to be removed.
+ /// The reason why the tag will be removed.
+ public class RemovingTagEventArgs(IElement tag, RemoveReason reason) : CancelEventArgs
{
///
/// Gets the tag to be removed.
@@ -80,7 +73,7 @@ public class RemovingTagEventArgs : CancelEventArgs
///
/// The tag.
///
- public IElement Tag { get; private set; }
+ public IElement Tag { get; private set; } = tag;
///
/// Gets the reason why the tag will be removed.
@@ -88,24 +81,19 @@ public class RemovingTagEventArgs : CancelEventArgs
///
/// The reason.
///
- public RemoveReason Reason { get; private set; }
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The element to be removed.
- /// The reason why the tag will be removed.
- public RemovingTagEventArgs(IElement tag, RemoveReason reason)
- {
- Tag = tag;
- Reason = reason;
- }
+ public RemoveReason Reason { get; private set; } = reason;
}
///
/// Provides data for the event.
///
- public class RemovingAttributeEventArgs : CancelEventArgs
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The element containing the attribute.
+ /// The attribute to be removed.
+ /// The reason why the attribute will be removed.
+ public class RemovingAttributeEventArgs(IElement tag, IAttr attribute, RemoveReason reason) : CancelEventArgs
{
///
/// Gets the tag containing the attribute to be removed.
@@ -113,7 +101,7 @@ public class RemovingAttributeEventArgs : CancelEventArgs
///
/// The tag.
///
- public IElement Tag { get; private set; }
+ public IElement Tag { get; private set; } = tag;
///
/// Gets the attribute to be removed.
@@ -121,7 +109,7 @@ public class RemovingAttributeEventArgs : CancelEventArgs
///
/// The attribute.
///
- public IAttr Attribute { get; private set; }
+ public IAttr Attribute { get; private set; } = attribute;
///
/// Gets the reason why the attribute will be removed.
@@ -129,26 +117,19 @@ public class RemovingAttributeEventArgs : CancelEventArgs
///
/// The reason.
///
- public RemoveReason Reason { get; private set; }
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The element containing the attribute.
- /// The attribute to be removed.
- /// The reason why the attribute will be removed.
- public RemovingAttributeEventArgs(IElement tag, IAttr attribute, RemoveReason reason)
- {
- Tag = tag;
- Attribute = attribute;
- Reason = reason;
- }
+ public RemoveReason Reason { get; private set; } = reason;
}
///
/// Provides data for the event.
///
- public class RemovingStyleEventArgs : CancelEventArgs
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The element containing the attribute.
+ /// The style to be removed.
+ /// The reason why the attribute will be removed.
+ public class RemovingStyleEventArgs(IElement tag, ICssProperty style, RemoveReason reason) : CancelEventArgs
{
///
/// Gets the tag containing the style to be removed.
@@ -156,7 +137,7 @@ public class RemovingStyleEventArgs : CancelEventArgs
///
/// The tag.
///
- public IElement Tag { get; private set; }
+ public IElement Tag { get; private set; } = tag;
///
/// Gets the style to be removed.
@@ -164,7 +145,7 @@ public class RemovingStyleEventArgs : CancelEventArgs
///
/// The style.
///
- public ICssProperty Style { get; private set; }
+ public ICssProperty Style { get; private set; } = style;
///
/// Gets the reason why the style will be removed.
@@ -172,26 +153,18 @@ public class RemovingStyleEventArgs : CancelEventArgs
///
/// The reason.
///
- public RemoveReason Reason { get; private set; }
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The element containing the attribute.
- /// The style to be removed.
- /// The reason why the attribute will be removed.
- public RemovingStyleEventArgs(IElement tag, ICssProperty style, RemoveReason reason)
- {
- Tag = tag;
- Style = style;
- Reason = reason;
- }
+ public RemoveReason Reason { get; private set; } = reason;
}
///
/// Provides data for the event.
///
- public class RemovingAtRuleEventArgs : CancelEventArgs
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The element containing the attribute.
+ /// The rule to be removed.
+ public class RemovingAtRuleEventArgs(IElement tag, ICssRule rule) : CancelEventArgs
{
///
/// Gets the tag containing the at-rule to be removed.
@@ -199,7 +172,7 @@ public class RemovingAtRuleEventArgs : CancelEventArgs
///
/// The tag.
///
- public IElement Tag { get; private set; }
+ public IElement Tag { get; private set; } = tag;
///
/// Gets the rule to be removed.
@@ -207,24 +180,17 @@ public class RemovingAtRuleEventArgs : CancelEventArgs
///
/// The rule.
///
- public ICssRule Rule { get; private set; }
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The element containing the attribute.
- /// The rule to be removed.
- public RemovingAtRuleEventArgs(IElement tag, ICssRule rule)
- {
- Tag = tag;
- Rule = rule;
- }
+ public ICssRule Rule { get; private set; } = rule;
}
///
/// Provides data for the event.
///
- public class RemovingCommentEventArgs : CancelEventArgs
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The comment to be removed.
+ public class RemovingCommentEventArgs(IComment comment) : CancelEventArgs
{
///
/// Gets the comment node to be removed.
@@ -232,22 +198,19 @@ public class RemovingCommentEventArgs : CancelEventArgs
///
/// The comment node.
///
- public IComment Comment { get; private set; }
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The comment to be removed.
- public RemovingCommentEventArgs(IComment comment)
- {
- Comment = comment;
- }
+ public IComment Comment { get; private set; } = comment;
}
///
/// Provides data for the event.
///
- public class RemovingCssClassEventArgs : CancelEventArgs
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The element containing the attribute.
+ /// The CSS class to be removed.
+ /// The reason why the attribute will be removed.
+ public class RemovingCssClassEventArgs(IElement tag, string cssClass, RemoveReason reason) : CancelEventArgs
{
///
/// Gets the tag containing the CSS class to be removed.
@@ -255,7 +218,7 @@ public class RemovingCssClassEventArgs : CancelEventArgs
///
/// The tag.
///
- public IElement Tag { get; private set; }
+ public IElement Tag { get; private set; } = tag;
///
/// Gets the CSS class to be removed.
@@ -263,7 +226,7 @@ public class RemovingCssClassEventArgs : CancelEventArgs
///
/// The CSS class.
///
- public string CssClass { get; private set; }
+ public string CssClass { get; private set; } = cssClass;
///
/// Gets the reason why the CSS class will be removed.
@@ -271,26 +234,19 @@ public class RemovingCssClassEventArgs : CancelEventArgs
///
/// The reason.
///
- public RemoveReason Reason { get; private set; }
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The element containing the attribute.
- /// The CSS class to be removed.
- /// The reason why the attribute will be removed.
- public RemovingCssClassEventArgs(IElement tag, string cssClass, RemoveReason reason)
- {
- Tag = tag;
- CssClass = cssClass;
- Reason = reason;
- }
+ public RemoveReason Reason { get; private set; } = reason;
}
///
/// Provides data for the event.
///
- public class FilterUrlEventArgs: EventArgs
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The tag containing the URI being sanitized.
+ /// The original URL.
+ /// The sanitized URL.
+ public class FilterUrlEventArgs(IElement tag, string originalUrl, string? sanitizedUrl = null) : EventArgs
{
///
/// Gets the original URL.
@@ -298,7 +254,7 @@ public class FilterUrlEventArgs: EventArgs
///
/// The original URL.
///
- public string OriginalUrl { get; private set; }
+ public string OriginalUrl { get; private set; } = originalUrl;
///
/// Gets or sets the sanitized URL.
@@ -306,7 +262,7 @@ public class FilterUrlEventArgs: EventArgs
///
/// The sanitized URL. If it is null, it will be removed.
///
- public string? SanitizedUrl { get; set; }
+ public string? SanitizedUrl { get; set; } = sanitizedUrl;
///
/// Gets the tag containing the URI being sanitized.
@@ -314,19 +270,6 @@ public class FilterUrlEventArgs: EventArgs
///
/// The tag.
///
- public IElement Tag { get; private set; }
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The tag containing the URI being sanitized.
- /// The original URL.
- /// The sanitized URL.
- public FilterUrlEventArgs(IElement tag, string originalUrl, string? sanitizedUrl = null)
- {
- OriginalUrl = originalUrl;
- SanitizedUrl = sanitizedUrl;
- Tag = tag;
- }
+ public IElement Tag { get; private set; } = tag;
}
}
diff --git a/Masuit.Tools.Abstractions/HtmlSanitizer/HtmlSanitizer.cs b/Masuit.Tools.Abstractions/HtmlSanitizer/HtmlSanitizer.cs
index ffe0758a..bb7443e4 100644
--- a/Masuit.Tools.Abstractions/HtmlSanitizer/HtmlSanitizer.cs
+++ b/Masuit.Tools.Abstractions/HtmlSanitizer/HtmlSanitizer.cs
@@ -52,6 +52,8 @@ namespace Ganss.Xss
///
public class HtmlSanitizer : IHtmlSanitizer
{
+ private const string StyleAttributeName = "style";
+
// from http://genshi.edgewall.org/
private static readonly Regex CssUnicodeEscapes = new(@"\\([0-9a-fA-F]{1,6})\s?|\\([^\r\n\f0-9a-fA-F'""{};:()#*])", RegexOptions.Compiled);
private static readonly Regex CssComments = new(@"/\*.*?\*/", RegexOptions.Compiled);
@@ -529,7 +531,7 @@ private void DoSanitize(IHtmlDocument dom, IParentNode context, string baseUrl =
}
// sanitize the style attribute
- var oldStyleEmpty = string.IsNullOrEmpty(tag.GetAttribute("style"));
+ var oldStyleEmpty = string.IsNullOrEmpty(tag.GetAttribute(StyleAttributeName));
SanitizeStyle(tag, baseUrl);
// sanitize the value of the attributes
@@ -553,7 +555,7 @@ private void DoSanitize(IHtmlDocument dom, IParentNode context, string baseUrl =
if (!tag.ClassList.Any())
RemoveAttribute(tag, attribute, RemoveReason.ClassAttributeEmpty);
}
- else if (!oldStyleEmpty && attribute.Name == "style" && string.IsNullOrEmpty(attribute.Value))
+ else if (!oldStyleEmpty && attribute.Name == StyleAttributeName && string.IsNullOrEmpty(attribute.Value))
{
RemoveAttribute(tag, attribute, RemoveReason.StyleAttributeEmpty);
}
@@ -574,8 +576,9 @@ private void SanitizeStyleSheets(IHtmlDocument dom, string baseUrl)
foreach (var styleSheet in dom.StyleSheets.OfType())
{
var styleTag = styleSheet.OwnerNode;
+ var i = 0;
- for (int i = 0; i < styleSheet.Rules.Length;)
+ while (i < styleSheet.Rules.Length)
{
var rule = styleSheet.Rules[i];
if (!SanitizeStyleRule(rule, styleTag, baseUrl) && RemoveAtRule(styleTag, rule))
@@ -599,7 +602,9 @@ private bool SanitizeStyleRule(ICssRule rule, IElement styleTag, string baseUrl)
{
if (rule is ICssGroupingRule groupingRule)
{
- for (int i = 0; i < groupingRule.Rules.Length;)
+ var i = 0;
+
+ while (i < groupingRule.Rules.Length)
{
var childRule = groupingRule.Rules[i];
if (!SanitizeStyleRule(childRule, styleTag, baseUrl) && RemoveAtRule(styleTag, childRule))
@@ -702,17 +707,17 @@ protected void SanitizeStyle(IElement element, string baseUrl)
{
// filter out invalid CSS declarations
// see https://github.com/AngleSharp/AngleSharp/issues/101
- var attribute = element.GetAttribute("style");
+ var attribute = element.GetAttribute(StyleAttributeName);
if (attribute == null)
return;
if (element.GetStyle() == null)
{
- element.RemoveAttribute("style");
+ element.RemoveAttribute(StyleAttributeName);
return;
}
- element.SetAttribute("style", element.GetStyle().ToCss(StyleFormatter));
+ element.SetAttribute(StyleAttributeName, element.GetStyle().ToCss(StyleFormatter));
var styles = element.GetStyle();
if (styles == null || styles.Length == 0)
@@ -853,7 +858,12 @@ protected static string DecodeCss(string css)
{
try
{
- return new Uri(baseUri, iri.Value).AbsoluteUri;
+ var sanitizedUrl = new Uri(baseUri, iri.Value).AbsoluteUri;
+ var ev = new FilterUrlEventArgs(element, url, sanitizedUrl);
+
+ OnFilteringUrl(ev);
+
+ return ev.SanitizedUrl;
}
catch (UriFormatException)
{
diff --git a/Masuit.Tools.Abstractions/HtmlSanitizer/Iri.cs b/Masuit.Tools.Abstractions/HtmlSanitizer/Iri.cs
index 182ac68d..a77ca1b2 100644
--- a/Masuit.Tools.Abstractions/HtmlSanitizer/Iri.cs
+++ b/Masuit.Tools.Abstractions/HtmlSanitizer/Iri.cs
@@ -8,7 +8,12 @@ namespace Ganss.Xss
///
/// Represents an Internationalized Resource Identifier.
///
- public class Iri
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The value.
+ /// The scheme.
+ public class Iri(string value, string? scheme = null)
{
///
/// Gets or sets the value of the IRI.
@@ -16,7 +21,7 @@ public class Iri
///
/// The value of the IRI.
///
- public string Value { get; private set; }
+ public string Value { get; private set; } = value;
///
/// Gets a value indicating whether the IRI is absolute.
@@ -32,17 +37,6 @@ public class Iri
///
/// The scheme of the IRI.
///
- public string? Scheme { get; private set; }
-
- ///
- /// Initializes a new instance of the class.
- ///
- /// The value.
- /// The scheme.
- public Iri(string value, string? scheme = null)
- {
- Value = value;
- Scheme = scheme;
- }
+ public string? Scheme { get; private set; } = scheme;
}
}
diff --git a/Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj b/Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj
index fd7b5a32..7751a71c 100644
--- a/Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj
+++ b/Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj
@@ -3,7 +3,7 @@
netstandard2.0;netstandard2.1;net461;net5;net6;net7;net8
latest
true
- 2024.1
+ 2024.2
懒得勤快
全龄段友好的C#万能工具库,码数吐司库,不管你是菜鸟新手还是骨灰级玩家都能轻松上手,Masuit.Tools基础公共库(适用于.NET4.6.1/.NET Standard2.0及以上项目),包含一些常用的操作类,大都是静态类,加密解密,反射操作,Excel简单导出,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展等常用封装。
官网教程:https://masuit.tools
@@ -58,7 +58,7 @@
-
+
diff --git a/Masuit.Tools.Abstractions/Media/ImageUtilities.cs b/Masuit.Tools.Abstractions/Media/ImageUtilities.cs
index 90aa2d51..8edb1459 100644
--- a/Masuit.Tools.Abstractions/Media/ImageUtilities.cs
+++ b/Masuit.Tools.Abstractions/Media/ImageUtilities.cs
@@ -73,12 +73,12 @@ public static Image CutAndResize(this Image bmpp, Rectangle rec, int newWidth, i
/// 生成缩略图的方式
public static void MakeThumbnail(this Image originalImage, string thumbnailPath, int width, int height, ResizeMode mode)
{
- originalImage.Mutate(c => c.Resize(new ResizeOptions()
+ using var image = originalImage.Clone(c => c.Resize(new ResizeOptions()
{
Size = new Size(width, height),
Mode = mode
}));
- originalImage.Save(thumbnailPath);
+ image.Save(thumbnailPath);
}
///
@@ -90,12 +90,11 @@ public static void MakeThumbnail(this Image originalImage, string thumbnailPath,
/// 生成缩略图的方式
public static Image MakeThumbnail(this Image originalImage, int width, int height, ResizeMode mode)
{
- originalImage.Mutate(c => c.Resize(new ResizeOptions()
+ return originalImage.Clone(c => c.Resize(new ResizeOptions()
{
Size = new Size(width, height),
Mode = mode
}));
- return originalImage;
}
#endregion 缩略图
@@ -341,4 +340,4 @@ public static Image SaveDataUriAsImageFile(this string source)
return Image.Load(ms);
}
}
-}
+}
\ No newline at end of file
diff --git a/Masuit.Tools.Abstractions/Models/TreeExtensions.cs b/Masuit.Tools.Abstractions/Models/TreeExtensions.cs
index c5ad1686..c6703f0c 100644
--- a/Masuit.Tools.Abstractions/Models/TreeExtensions.cs
+++ b/Masuit.Tools.Abstractions/Models/TreeExtensions.cs
@@ -574,10 +574,11 @@ private static void TransData(IEnumerable source, Tree parent, Fu
/// 递归取出所有下级
///
///
+ ///
///
private static List GetChildren(T t, Func> selector)
{
- return selector(t).Union(selector(t).Where(c => selector(c).Any()).SelectMany(c => GetChildren(c, selector))).ToList();
+ return selector(t).Union(selector(t).Where(c => selector(c)?.Any() == true).SelectMany(c => GetChildren(c, selector))).ToList();
}
///
@@ -652,4 +653,4 @@ public static List ToTree(this IEnumerable source) where T : ITreeEntit
return temp;
}
}
-}
+}
\ No newline at end of file
diff --git a/Masuit.Tools.AspNetCore/Masuit.Tools.AspNetCore.csproj b/Masuit.Tools.AspNetCore/Masuit.Tools.AspNetCore.csproj
index 7cadbd8a..21b0f55f 100644
--- a/Masuit.Tools.AspNetCore/Masuit.Tools.AspNetCore.csproj
+++ b/Masuit.Tools.AspNetCore/Masuit.Tools.AspNetCore.csproj
@@ -18,7 +18,7 @@
Masuit.Tools.AspNetCore
Masuit.Tools.AspNetCore
latest
- 2024.1
+ 2024.2
True
1.1.9
@@ -46,7 +46,7 @@
-
+
diff --git a/Masuit.Tools.Core/Masuit.Tools.Core.csproj b/Masuit.Tools.Core/Masuit.Tools.Core.csproj
index 38233909..d608fcb3 100644
--- a/Masuit.Tools.Core/Masuit.Tools.Core.csproj
+++ b/Masuit.Tools.Core/Masuit.Tools.Core.csproj
@@ -6,7 +6,7 @@
官网教程:https://tools.masuit.org
github:https://github.com/ldqk/Masuit.Tools
- 2024.1
+ 2024.2
Copyright © 懒得勤快
https://github.com/ldqk/Masuit.Tools
Masuit.Tools,工具库,Utility,Crypt,Extensions
diff --git a/Masuit.Tools.Excel/Masuit.Tools.Excel.csproj b/Masuit.Tools.Excel/Masuit.Tools.Excel.csproj
index 2800d229..3660eb3b 100644
--- a/Masuit.Tools.Excel/Masuit.Tools.Excel.csproj
+++ b/Masuit.Tools.Excel/Masuit.Tools.Excel.csproj
@@ -3,7 +3,7 @@
netstandard2.0
latest
true
- 2024.1
+ 2024.2
懒得勤快
Masuit.Tools.Excel导出库,支持一些简单数据的导出,支持图片列
懒得勤快
@@ -38,7 +38,7 @@
-
+
diff --git a/Masuit.Tools.Net45/package.nuspec b/Masuit.Tools.Net45/package.nuspec
index ad6df404..3ca9f1cc 100644
--- a/Masuit.Tools.Net45/package.nuspec
+++ b/Masuit.Tools.Net45/package.nuspec
@@ -1,8 +1,8 @@
-
+
Masuit.Tools.Net45
- 2024.1
+ 2024.2
Masuit.Tools
懒得勤快
masuit.com
diff --git a/Masuit.Tools.NoSQL.MongoDBClient/Masuit.Tools.NoSQL.MongoDBClient.csproj b/Masuit.Tools.NoSQL.MongoDBClient/Masuit.Tools.NoSQL.MongoDBClient.csproj
index fe1b72fa..ba3b7d28 100644
--- a/Masuit.Tools.NoSQL.MongoDBClient/Masuit.Tools.NoSQL.MongoDBClient.csproj
+++ b/Masuit.Tools.NoSQL.MongoDBClient/Masuit.Tools.NoSQL.MongoDBClient.csproj
@@ -38,7 +38,7 @@
-
+
diff --git a/Masuit.Tools/Masuit.Tools.csproj b/Masuit.Tools/Masuit.Tools.csproj
index 5dc1e467..137003c7 100644
--- a/Masuit.Tools/Masuit.Tools.csproj
+++ b/Masuit.Tools/Masuit.Tools.csproj
@@ -209,7 +209,7 @@
1.7.0
- 8.0.843
+ 8.0.865
5.3.0
@@ -218,7 +218,7 @@
13.0.3
- 0.36.0
+ 0.37.2
1.0.0
diff --git a/Masuit.Tools/package.nuspec b/Masuit.Tools/package.nuspec
index 102bf734..93fa5cce 100644
--- a/Masuit.Tools/package.nuspec
+++ b/Masuit.Tools/package.nuspec
@@ -1,8 +1,8 @@
-
+
Masuit.Tools.Net
- 2024.1
+ 2024.2
Masuit.Tools
懒得勤快
masuit.com
diff --git a/Test/Masuit.Tools.Abstractions.Test/Masuit.Tools.Abstractions.Test.csproj b/Test/Masuit.Tools.Abstractions.Test/Masuit.Tools.Abstractions.Test.csproj
index 02ac92a8..5a292d1f 100644
--- a/Test/Masuit.Tools.Abstractions.Test/Masuit.Tools.Abstractions.Test.csproj
+++ b/Test/Masuit.Tools.Abstractions.Test/Masuit.Tools.Abstractions.Test.csproj
@@ -14,8 +14,8 @@
-
-
+
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/Test/Masuit.Tools.Core.Test/Masuit.Tools.Core.Test.csproj b/Test/Masuit.Tools.Core.Test/Masuit.Tools.Core.Test.csproj
index e0fc00f9..e28e4dc7 100644
--- a/Test/Masuit.Tools.Core.Test/Masuit.Tools.Core.Test.csproj
+++ b/Test/Masuit.Tools.Core.Test/Masuit.Tools.Core.Test.csproj
@@ -12,8 +12,8 @@
-
-
+
+
all
runtime; build; native; contentfiles; analyzers
diff --git a/Test/Masuit.Tools.Test/Masuit.Tools.Test.csproj b/Test/Masuit.Tools.Test/Masuit.Tools.Test.csproj
index 952ce03a..a4ad33c0 100644
--- a/Test/Masuit.Tools.Test/Masuit.Tools.Test.csproj
+++ b/Test/Masuit.Tools.Test/Masuit.Tools.Test.csproj
@@ -107,25 +107,25 @@
4.5.0
- 2.7.1
+ 2.8.0
2.0.3
- 1.12.0
+ 1.13.0
- 2.7.1
+ 2.8.0
- 2.7.1
+ 2.8.0
- 2.7.1
+ 2.8.0
- 2.7.1
+ 2.8.0