1

我有项目,其中包含很多类。我将此项目用作我的一个应用程序的插件库。这个应用程序可以从这个项目构建的一个 .dll 加载所有这些插件。

问题是,我需要在第三方应用程序中使用这些插件。此应用程序只能为每个 .dll 加载一个插件。我在这里的选择很少。据我所知,我可以为每个文件创建新项目并构建它们。但如何解决它是草率的方式。

那么,有什么方法可以为每个类或类组构建一个项目?

在我看来,这听起来像是一些脚本的任务。是否可以使用 psake 或 powershell 来实现这一点?

致谢

4

2 回答 2

0

好吧,我相信他们已经在自己的 bin 目录中这样做了。那是如果您将程序集作为组件的意思。如果您在谈论类,那么您应该将它们放在单独的程序集中并使用相同的方法。

您可以右键单击程序集并转到属性,构建您可以看到“输出路径”字段以及“XML 文档”复选框,这是第三方应用程序在使用 .dll-s 时查看您的 XML 注释所必需的。

于 2016-02-03T08:50:24.020 回答
0

我能想到的一种方法是根据您已经拥有的插件项目创建一个“模板”项目文件。您可以制作plugin.csproj的副本,然后删除所有包含的插件类。使用 psake 和 Powershell,您可以动态添加需要程序集的插件类,然后调用 MSBuild 来构建 csproj。

 <ItemGroup>
    <Compile Include="MyFirstPlugin.cs" />
 </ItemGroup>

在 Powershell 中很容易将这样的 xml 节点添加到 csproj 文件中。

ps 脚本的伪代码可能是这样的;

define list of plugin cs-files 
for each plugin cs file   
    copy template.csproj to plugin.csproj
    add xml node to include plugin.cs file
    call msbuild on plugin.csproj
    delete plugin.csproj file
于 2016-02-29T21:49:52.597 回答