设置 Stroke on Line 导致 Anti-Virus 停止编译
Setting Stroke on Line causing Anti-Virus to Stop Compilation
我正在做一个简单的家庭项目,它将在 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 属性 时,是否有人试图将病毒注入我的程序?
为了阻止防病毒软件检测到看起来像病毒的东西,我不得不稍微重构代码:
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;
}
我正在做一个简单的家庭项目,它将在 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 属性 时,是否有人试图将病毒注入我的程序?
为了阻止防病毒软件检测到看起来像病毒的东西,我不得不稍微重构代码:
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;
}