Ошибка при компиляции проекта c # со ссылкой на внешнюю DLL - PullRequest
0 голосов
/ 01 июня 2019

Я пытаюсь скомпилировать следующий код C # , который опирается на внешнюю DLL , исходный код которого находится там

Так что сначала я компилирую DLLисходный код проекта через:

dotnet build NtApiDotNet\NtApiDotNet.Core.csproj -c Release

Я получаю NtApiDotNet.dll, так что все хорошо, пока нет.

Но затем я пытаюсь скомпилировать исходный код c # со ссылкой на предыдущую DLLс помощью следующей командной строки:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /platform:anycpu /r:NtApiDotNet.dll /out:poc.exe .\PulseLogPrivesc.cs

Я получаю следующие записи в журнале ошибок:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /platform:anycpu /r:NtApiDotNet.dll /out:poc.exe .\PulseLogPrivesc.cs
Microsoft (R) Visual C# Compiler version 4.7.2556.0
for C# 5
Copyright (C) Microsoft Corporation. All rights reserved.

This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to C# 5, which is no longer the latest version. For compilers that support newer versions of the C# programming language, see http://go.microsoft.com/fwlink/?LinkID=533240

PulseLogPrivesc.cs(72,17): error CS0012: The type 'System.Object' is defined in an assembly that is
        not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0,
        Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
NtApiDotNet.dll: (Location of symbol related to previous error)
PulseLogPrivesc.cs(72,17): error CS0012: The type 'System.IDisposable' is defined in an assembly that
        is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0,
        Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
NtApiDotNet.dll: (Location of symbol related to previous error)
PulseLogPrivesc.cs(72,17): error CS0012: The type 'System.IConvertible' is defined in an assembly that        is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0,
        Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
NtApiDotNet.dll: (Location of symbol related to previous error)
PulseLogPrivesc.cs(72,17): error CS0012: The type 'System.ValueType' is defined in an assembly that is        not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0,
        Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
NtApiDotNet.dll: (Location of symbol related to previous error)
NtApiDotNet.dll: error CS0455: Type parameter 'A' inherits conflicting constraints 'System.ValueType'
        and 'System.IConvertible'
PulseLogPrivesc.cs(169,21): error CS0012: The type 'System.Enum' is defined in an assembly that is not        referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0,
        Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
NtApiDotNet.dll: (Location of symbol related to previous error)
PulseLogPrivesc.cs(174,13): error CS0012: The type 'System.Runtime.InteropServices.SafeBuffer' is
        defined in an assembly that is not referenced. You must add a reference to assembly
        'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
NtApiDotNet.dll: (Location of symbol related to previous error)
PulseLogPrivesc.cs(186,21): error CS1061: 'NtApiDotNet.NtMappedSection' does not contain a definition
        for 'ReadArray' and no extension method 'ReadArray' accepting a first argument of type
        'NtApiDotNet.NtMappedSection' could be found (are you missing a using directive or an assembly        reference?)
PulseLogPrivesc.cs(191,21): error CS1061: 'NtApiDotNet.NtMappedSection' does not contain a definition
        for 'WriteArray' and no extension method 'WriteArray' accepting a first argument of type
        'NtApiDotNet.NtMappedSection' could be found (are you missing a using directive or an assembly        reference?)

Я попытался найти внешнюю DLL в разных папках: текущий каталог, каталог csc.exe,Вы знаете, в чем проблема?

Я также пытался скомпилировать DLL из Visual Studio, но я получаю следующее сообщение об ошибке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...