Пакет netDxf - System.IO.FileNotFoundException: «Не удалось загрузить файл или сборку» System.Drawing.Common - PullRequest
1 голос
/ 30 октября 2019

Я пытаюсь запустить пример кода, указанный в README для проекта netDXF: https://github.com/haplokuon/netDxf,, но код выдает следующее исключение в строке DxfDocument dxf = new DxfDocument();:

System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Drawing.Common, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.'

ШагиЯ сделал следующее: 1. Я установил Visual Studio 2019 и создал новый проект со значением «target Framework» «.NET core 3.0» и «Тип вывода» «Консольное приложение». 2. Я установил пакет netDXF, щелкнув правой кнопкой мыши по моему проекту и выбрав «Управление пакетами NuGet», и установив оттуда netDxf. 3. Я запустил код, увидел исключение и собрал следующую трассировку стека из библиотеки .netDxf:

    netDxf.dll!netDxf.Tables.TextStyle.TextStyle(string name, string font, bool checkName)  Unknown
    netDxf.dll!netDxf.Tables.TextStyle.TextStyle(string name, string font)  Unknown
    netDxf.dll!netDxf.Tables.TextStyle.Default.get()    Unknown
    netDxf.dll!netDxf.DxfDocument.AddDefaultObjects()   Unknown
    netDxf.dll!netDxf.DxfDocument.DxfDocument(netDxf.Header.HeaderVariables drawingVariables, bool createDefaultObjects, System.Collections.Generic.IEnumerable<string> supportFolders) Unknown
    netDxf.dll!netDxf.DxfDocument.DxfDocument(netDxf.Header.HeaderVariables drawingVariables)   Unknown
    netDxf.dll!netDxf.DxfDocument.DxfDocument() Unknown
>   Mason.dll!Mason.Program.Main() Line 15  C#

Вот полный фрагмент кода, который я пытаюсь запустить (Program.cs):

using netDxf;
using netDxf.Entities;
using netDxf.Header;

namespace Mason
{
    class Program
    {
        public static void Main()
        {
            // your dxf file name
            string file = "sample.dxf";

            // by default it will create an AutoCad2000 DXF version
            DxfDocument dxf = new DxfDocument();
            // an entity
            Line entity = new Line(new Vector2(5, 5), new Vector2(10, 5));
            // add your entities here
            dxf.AddEntity(entity);
            // save to file
            dxf.Save(file);

            // this check is optional but recommended before loading a DXF file
            bool isBinary;
            DxfVersion dxfVersion = DxfDocument.CheckDxfFileVersion(file, out isBinary);
            // netDxf is only compatible with AutoCad2000 and higher DXF version
            if (dxfVersion < DxfVersion.AutoCad2000) return;
            // load file
            DxfDocument loaded = DxfDocument.Load(file);
        }
    }
}
...