构建项目的组件以拥有.dll

时间:2016-02-03 08:35:28

标签: c# build msbuild psake

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

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

那么,有没有办法,如何为每个类或类组构建一个项目?

这听起来像是一些脚本的任务。有可能用psake或powershell实现这个吗?

谢谢你

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分: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