共享资源Visual Studio 2010

时间:2013-01-29 09:48:47

标签: c# visual-studio-2010 visual-studio nancy

所以我有一个包含4个项目的解决方案,一个“Core”项目,它是实际应用程序(作为类库),以及3个包装项目,“Console”,“WinForm”和“Service”,它们基本上包含了一个核心类中的Facade类,包含各种设置,用于处理每个不同应用程序(控制台/跟踪/文件)的不同日志记录策略,并将应用程序作为控制台,WinForms或Service启动,具体取决于客户希望部署应用程序的方式。

在Core项目中,我有3个资源文件,其中包含Nancy Web框架的简单模板视图。然而,南希寻找这些观点的方式是在当前的道路上。由于Core项目中的文件不在任何其他3个项目的当前路径上,因此我需要一种简单的方法来跨项目访问这些文件。

有些天真,我认为这就是“解决方案”的概念所在,用于处理项目之间的依赖关系。然而,通过搜索互联网,令我惊讶的是,似乎没有优雅的方法来做到这一点。我能找到的唯一两个解决方案是将文件复制到解决方案中的临时/临时或目录,然后将它们复制到相应的所需目录,作为构建后操作,并使用“添加为”手动添加项目链接”。现在,虽然这两种解决方案在技术上都有效,但是第一次离开(可能是过时的)构建的文物位于它们并不属于的地方(恕我直言),第二种是乏味,耗时且容易出现人为错误(因为你不能只链接到一个目录。)

这些真的是我唯一的两个选择,还是有一些第三种,我刚刚错过的完全显而易见的方式,因为我是Visual Studio的新手?

2 个答案:

答案 0 :(得分:2)

如果你需要的只是Nancy特定的东西,你可以在Nancy中使用自定义的IRootPathProvider。

另一个选项是链接一个文件夹 - 你可以这样做,但它涉及手动黑客攻击csproj文件,这里有一些问题,包括这个:

Visual Studio Linked Files Directory Structure

答案 1 :(得分:0)

Nuget是一个包管理系统,我曾用它作为依赖项在项目之间共享工件。您可以通过nuget.org包含可用的库,也可以定义自己的nuget包。

Teamcity已经为每个构建生成nuget包提供了很好的支持,可以作为Nuget服务器。

Here是将文件包含到nuget包中的参考。