我有项目,其中包含很多类。我使用这个项目作为我的一个应用程序的插件库。此应用程序可以从此项目中构建的一个.dll加载所有这些插件。
问题是,我需要在第三方应用中使用这些插件。这个应用程序每个.dll只能加载一个插件。我这里的选择很少。据我所知,我可以为每个文件创建新项目并构建它们。但它是如何解决它的草率方式。
那么,有没有办法,如何为每个类或类组构建一个项目?
这听起来像是一些脚本的任务。有可能用psake或powershell实现这个吗?
谢谢你
答案 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