PowerShell-从C#创建模块

本文关键字:模块 创建 PowerShell- | 更新日期: 2023-09-27 18:27:25

好吧,我已经摸索这个项目很长一段时间了。我不能因为任何一个代码而受到赞扬。我想做的是能够高效地解析PDF文件并使用PowerShell搜索关键字。我发现了牛肉代码的Convertfrom-PDF cmdlet:http://www.beefycode.com/post/ConvertFrom-PDF-Cmdlet.aspx这似乎是我需要的,当然,它似乎也需要一个PDFParser类:http://www.codeproject.com/Articles/14170/Extract-Text-from-PDF-in-C-100-NET

我已经学会了如何从这些网站编译源文件并创建.dll文件,以及如何在我的用户模块位置创建一个文件夹,将这些.dll放入.

现在,我一直在编译包含ConvertfromPDF命令的cmdlet。我收到这个错误。添加类型:c:''Users''12345''AppData''Local''Temp''u0ofo-9.0.cs(11):警告为错误:从未分配字段"PowerShell.PDF.ConvertFromPDF._PDFFile"到,并且将始终使其默认值为空

这对Powershell来说有意义吗?

[Cmdlet( VerbsData.ConvertFrom, "PDF" )]
public class ConvertFromPDF : Cmdlet

不仅如此,我还困惑于如何在没有visualstudio的情况下使用扩展名为.csproj的源文件。最后,我打开了一个记事本,并用一个.cs扩展名保存了它。

有人能帮我澄清一下我的问题吗?我可能应该从更小的东西开始,开始学习如何创建模块。

基本上,我有两个类,每个类都需要编译。然后是需要编译的assemblyinfo.cs文件。是.csproj源文件似乎将这些内容打包成了一个漂亮的小包。。。这就是我无法编译的文件。

谢谢。

PowerShell-从C#创建模块

.CSPROJ文件并不是真正的源代码文件。它们是Visual Studio C#项目文件,包含确定如何生成关联的.CS(源)文件的设置。其中一个设置会将警告转化为错误。显然,该设置已在您的项目文件中启用。您可以在Visual Studio C#学习版(免费)中打开项目文件,也可以手动编辑并禁用此设置。

另一种选择是跳过项目文件,只手动编译主源文件(而不是assemblyInfo.cs文件)。如果您安装了.NET SDK,请打开命令提示符并运行:

csc /t:library /out:foo.dll file.cs

如果你有多个CS文件:

csc /t:library /out:foo.dll *.cs

这应该在同一目录中创建一个file.dll程序集。