1

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

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

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

这些真的是我仅有的两个选择,还是因为我是 Visual Studio 的新手而错过了第三种完全明显的方式?

4

2 回答 2

2

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

另一种选择是链接一个文件夹 - 你可以这样做,但它涉及手动破解 csproj 文件,这里有一些关于它的问题,包括这个:

Visual Studio 链接文件目录结构

于 2013-01-29T10:14:28.657 回答
0

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

Teamcity对每次构建时生成 nuget 包都有很好的支持,并且可以用作 Nuget 服务器。

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

于 2013-01-29T10:06:49.923 回答