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

本文关键字:app 项目 config sett Studio settings 同一个 解决方案 之间 共享 Visual | 更新日期: 2023-09-27 17:58:10

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

我有一个C#项目,我想在两个不同的解决方案(.sln)之间共享。该项目是一个带有Main方法的应用程序。它需要使用settings.settings和app.config。这两个解决方案中的每一个都需要引用同一个C#项目,但对于每个解决方案,app.config和settings.seettings都需要特定于它们的解决方案。因此,如果项目C在解决方案A和B之间共享,A包括C,其中C有一个特定于A的app.config,B包括相同的C项目,但C有特定于C的app.config.有办法做到这一点吗?我试图避免将同一个项目(即C)复制到两个不同的位置,因为如果我在一个解决方案中更新该项目,那么我就必须在另一个方案中进行相同的更改。

感谢

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

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

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

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

这是我的意思的一个很好的例子。查看ApplicationSettings文件夹,并注意到app.config文件是如何在解决方案的T4项目中使用的。