2016-04-27 24 views
3

Ich arbeite an einem einfachen Home-Projekt, das Linien auf einer Leinwand zeichnet. Ich arbeitete gut, als plötzlich mein Antivirenschutz begann, jedes Mal, wenn ich versuchte zu bauen, Warnmeldungen hervorrief. Das Projekt kann nicht mit folgendem Fehler erstellt werden:Festlegen des Strichs auf der Linie, der das Kompilieren von Anti-Virus durch Anti-Virus verhindert

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

Ich verwende die neueste Version von Norton 360 (aktuell). Die Warnung von den Anti-Viren gibt folgende Informationen:

  • Namen der Bedrohung: SAPE.Heur.AE935
  • Dateiname: mozieart.exe (das ist die exe, die ich zu bauen versuche).
  • Bedrohungstyp: Heuristisches Virus. Erkennung einer Bedrohung basierend auf Malware-Heuristiken

Ich weiß nicht, ob dies wichtig ist, aber ich schaffte es zu Spur zurück und verengen sie die folgenden Codezeilen nach unten:

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); 
    } 
} 

, wenn ich die edgeLine.Stroke Linie kommentiert habe aus der Anti-Virus beschwert sich überhaupt nicht, aber sobald ich diese Zeile auslasse, erhalte ich eine Anti-Virus-Warnung und das Projekt kann nicht kompiliert werden.

Ich habe auch versucht, den Hub Einstellen eines XAML-Stil anstelle es in dem Code zu tun, hinter:

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

Sobald ich die Leinwand Ressourcen Kommentar- bekomme ich die Anti-Virus-Warnung und das Projekt scheitert an bauen.

Vielleicht bin ich paranoid, aber ich bin ziemlich besorgt darüber. Könnte etwas versuchen, einen Virus in mein Programm zu injizieren, wenn ich die Stroke-Eigenschaft einer Linie verwende?

+2

Beachten Sie, dass „Heuristik“ bedeutet Norton einen bekannten Virus in Ihrem Programm nicht identifizieren , aber es sah ein allgemeines Muster im Code, das er für "virusartig" hält. Persönlich würde ich davon ausgehen, dass Norton ein wenig zu aggressiv ist und sag ihm einfach, dass er dein Programm ignorieren soll. Vielleicht hat jemand anderes mehr Informationen. – Quantic

+0

@Quantic Ich würde lieber versuchen, mein Programm zu ändern, so dass es nicht wie ein Virus aussieht. Ich habe einige Experimente gemacht und konnte ein Testprogramm erstellen, das den Line.Stroke ohne Probleme setzt. Ich habe auch einen großen Teil meines Programms ausgeschlossen und es kompiliert mit dem Line.Stroke im Code. Ich werde es weiterhin neu arrangieren, um zu sehen, ob ich es zur Arbeit bringen kann. Jeder Rat zu den besten Möglichkeiten, dies zu tun, wäre willkommen. – Ben

Antwort

-1

Um die anti-Virus zu stoppen von etwas erkennen, die sich wie ein Virus aussieht hatte ich leicht den Code Refactoring:

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