繁体   English   中英

如何在不同的解决方案之间共享相同的 Visual Studio 项目? 不同的 app.config 和 settings.settings

[英]How to share same Visual Studio project between different solutions? Different app.config and setttings.settings

标题并没有完全描述实际问题,因为我试图将足够简洁的描述放入单行中。

我有一个 C# 项目,我想在两个不同的解决方案 (.sln) 之间共享。 该项目是一个具有 Main 方法的应用程序。 它需要使用 settings.settings 和 app.config。 这两个解决方案中的每一个都需要引用相同的 C# 项目,但是对于每个解决方案,app.config 和 settings.settings 都需要特定于它们的解决方案。 So if project C is shared between solutions A and B, A includes C where C has an app.config specific to A, and B includes the same exact C project, but C has app.config specific to C. 有没有办法做到这一点? 我试图避免将同一个项目(即 C)复制到两个不同的位置,因为如果我在一个解决方案中更新该项目,那么我必须在另一个解决方案中进行相同的更改。

谢谢

也许您可以使用ConfigurationManager中的Open...()方法之一来实现这一点。 否则,以下 hack 可能会起作用(除非您需要复制整个 App.config 文件):在 A 中创建最小控制台应用程序 D1,在 B 中创建 D2,并从此处调用 C 的main()方法,并使用 D1 和 D2作为启动项目。 现在,将使用 D1 和 D2 的 App.config 代替 C 的 App.config。

我要共享的项目实际上是在两个不同的源代码管理位置之间共享的。 我想在 SVN 服务器解决方案和 TFS 服务器解决方案之间共享相同的项目(即 C)。 我想出的一种可行的解决方案(也适用于多个共享项目)是从位于共享项目目录上方的目录/分支中链接 app.config。 因此,您可以拥有 2 个不同的工作区,而不是使用位于项目 C 目录中的 app.config,并且在项目 C 的目录上方有一个名为 ApplicationSettings 的文件夹,其中包含 app.config 文件。 对于每个不同的解决方案,每个工作区都可以维护自己的 ApplicatonSettings 文件夹,但可以维护来自源代码管理的共享项目的完全相同的副本。

我在 codeplex 有一个项目: http://wcfsilverlighthelper.codeplex.com/

这是我的意思的一个工作示例。 查看 ApplicationSettings 文件夹,并注意 app.config 文件在解决方案的 T4 项目中的使用方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM