我正在开发一个简单的家庭项目,它将在画布上绘制线条。我工作得很好,突然间,我每次尝试构建时,我的防病毒保护都开始发出警告信息。该项目无法构建错误:
错误无法复制" obj \ Debug \ Mozieart.exe"至 " BIN \调试\ Mozieart.exe&#34 ;.超过重试次数10.失败。 Mozieart
我使用的是最新版本的Norton 360(最新版)。反病毒警告提供以下信息:
我不知道这是否重要,但我设法回溯并将其缩小到以下代码行:
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资源,我就会收到反病毒警告,但项目无法构建。
也许我是偏执狂,但我对此非常担心。当我使用Line的Stroke属性时,是否有人试图将病毒注入我的程序?
答案 0 :(得分:-1)
为了阻止反病毒检测到看起来像病毒的东西,我不得不稍微重构代码:
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;
}