gpt4 book ai didi

c# - 设置 Stroke on Line 导致 Anti-Virus 停止编译

转载 作者:行者123 更新时间:2023-11-30 18:45:50 25 4
gpt4 key购买 nike

我正在做一个简单的家庭项目,它会在 Canvas 上画线。我工作得很好,突然间,每次我尝试构建时,我的反病毒保护开始抛出警告消息。项目构建失败并出现错误:

Error Could not copy "obj\Debug\Mozieart.exe" to "bin\Debug\Mozieart.exe". Exceeded retry count of 10. Failed. Mozieart

我使用的是最新版本的 Norton 360(最新)。来自防病毒软件的警告提供了以下信息:

  • 威胁名称:SAPE.Heur.AE935
  • 文件名:mozieart.exe(这是我要构建的 exe)。
  • 威胁类型:启发式病毒。基于恶意软件启发式检测威胁。

我不知道这是否重要,但我设法回溯并将其缩小到以下代码行:

private void RunMeshButton_Click(object sender, RoutedEventArgs e)
{
TrizieartMesher mesher = new TrizieartMesher(new Rect(MainImage.RenderSize));

EdgeCountText.Text = $"{mesher.Edges.Count()}";

MainCanvas.Children.Clear();
foreach (IMeshEdge edge in mesher.Edges)
{
Line edgeLine = new Line();
edgeLine.X1 = edge.P1.X;
edgeLine.Y1 = edge.P1.Y;
edgeLine.X2 = edge.P2.X;
edgeLine.Y2 = edge.P2.Y;

//edgeLine.Stroke = Brushes.MediumOrchid;

MainCanvas.Children.Add(edgeLine);
}
}

当我将 edgeLine.Stroke 行注释掉时,防病毒软件根本不会提示,但一旦我取消注释该行,我就会收到防病毒警告,并且项目无法编译。

我还尝试使用 XAML 样式设置笔划,而不是在后面的代码中进行设置:

<Canvas Name="MainCanvas" Background="Transparent" AllowDrop="True">
<!--<Canvas.Resources>
<Style TargetType="Line">
<Setter Property="Stroke" Value="MediumOrchid" />
<Setter Property="StrokeThickness" Value="2.0" />
</Style>
</Canvas.Resources>-->
</Canvas>

一旦我取消注释 Canvas 资源,我就会收到防病毒警告,并且项目无法构建。

也许我偏执了,但我对此很担心。当我使用线条的 Stroke 属性时,会不会有什么东西试图将病毒注入(inject)我的程序?

最佳答案

为了阻止反病毒软件检测到看起来像病毒的东西,我不得不稍微重构代码:

private void RunMeshButton_Click(object sender, RoutedEventArgs e)
{
TrizieartMesher mesher = new TrizieartMesher(new Rect(MainImage.RenderSize));
EdgeCountText.Text = $"{mesher.Edges.Count()}";

MainCanvas.Children.Clear();
List<Line> meshLines = mesher.Edges.Select(edge => CreateLine(edge.P1, edge.P2)).ToList();
foreach (Line line in meshLines)
{
MainCanvas.Children.Add(line);
}
}

private static Line CreateLine(Point p1, Point p2)
{
Line newLine = new Line();
newLine.X1 = p1.X;
newLine.Y1 = p1.Y;
newLine.X2 = p2.X;
newLine.Y2 = p2.Y;

newLine.Stroke = Brushes.MediumOrchid;

return newLine;
}

关于c# - 设置 Stroke on Line 导致 Anti-Virus 停止编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36899300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com