通过Powershell安装特定的Nuget包

时间:2016-04-20 13:47:24

标签: c# powershell dll compilation dllexport

我正在玩PowerShell和C#。 具体来说,我使用Add-Type命令将C#代码编译为.dll文件。 但是问题在于:运行.dll它需要一个入口点或我理解的导出,从中调用函数。

要创建这些导出,我找到了UnmanagedExports包。有了这个我就能创造一些出口。接下来我想将其编译为.dll文件并尝试运行它。我来给你一个示例代码。

$code = @'

using System;
using System.Net;
using System.IO;
using System.Diagnostics;
using RGiesecke.DllExport;

namespace HelloWorldll
{
   class Program
   {

        [DllExport("DllMain", CallingConvention = CallingConvention.Winapi)]
        public static void DllMain()
        {
            Console.WriteLine("Hello World");
        }
   }
}
'@

$FilePath = "C:\Some\Path\To\File.dll"
Add-Type -TypeDefinition $code -OutputAssembly $FilePath

问题是在Powershell中无法识别RGiesecke命名空间,所以我的主要问题是。

是否有另一种方法可以使用第三方软件/工具创建/定义导出? 有没有方法/命令在编译之前安装INSIDE THOW POWERSHELL SCRIPT包以确保找到这个包?

我也读过这篇文章,但对我没那么帮助,所以也许有人可以从这里找到帮助我的想法,但到目前为止我没有。 install NuGet via PowerShell script

当前错误编译:

  

Add-Type:c:\ Users ... \ AppData \ Local \ Temp \ ahkmqrli.0.cs(6):找不到typen或命名空间名称'RGiesecke'(您是否缺少using指令或汇编参考?)

0 个答案:

没有答案