我正在设置一个Orchard CMS项目,目的是创建一个模块来存放我的MVC 3应用程序。该应用程序已经启动,已经有5个项目。一个Web项目,一些测试项目和一个工作流项目。
要求web项目(以及简单的其他4个项目)存在于/Orchard.Web/Modules/中,这是一个小麻烦 - 是否可以在动态加载时更改Orchard的位置(或添加新位置)模块?
这不是一个大问题,但对这个项目来说很不错。
在一个理想的世界里,我能够拥有:
/OrchardStuff/Orchard.Web
/OrchardStuff/etc
/MyStuff/MyProj.Web
/MyStuff/MyProj.Tests
我知道我可以用一种很好用的方式安排我的sln,如果我可以在文件系统中复制它,那就太好了。
干杯。
答案 0 :(得分:2)
在Web项目中添加afterBuild任务以将应用程序复制到Orchard的模块目录会不会更容易?
csproj文件中的那些东西会起作用(有点,我不完全确定我的语法。:'()
<Target Name="AfterBuild">
<ItemGroup>
<AppFiles Include="**\*.*"/>
</ItemGroup>
<Copy SourceFiles="@(AppFiles)"
DestinationFiles="@(AppFiles->'..\OrchardStuff\Orchard.Web\Modules\MyModule\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
MSDN文档位于:http://msdn.microsoft.com/en-us/library/3e54c37h.aspx
答案 1 :(得分:1)
我使用的解决方案是在构建后操作中添加以下行:
if not exist "$(SolutionDir)..\Orchard\src\Orchard.Web\Modules\$(ProjectName)" mklink /D "$(SolutionDir)..\Orchard\src\Orchard.Web\Modules\$(ProjectName)" ""$(ProjectDir)"
此命令在Orchard的Modules文件夹中创建dev文件夹的符号链接(仅当此类符号链接尚不存在时)。
与@ Eilistraee的答案相比,它具有以下优势:
答案 2 :(得分:0)
如果没有一些重大努力,这是不可能的。不值得。