2011-06-03 170 views
2

我使用的外部化配置节的AppSettings,能够让每个开发者不同的,就像这样:冲突与MSTEST

<appSettings configSource="appsettings.config" /> 

当我运行针对该MSTEST项目(这是一个Web应用程序),它盲目地改变这样的部分,因此:

<appSettings configSource="appsettings.config"> 
    <add key="microsoft.visualstudio.teamsystems.backupinfo" value="1;web.config.backup.af6ed449-e04a-4a52-99d6-b8df0b133316" /> 
    <add key="microsoft.visualstudio.teamsystems.aspnetdevserver:/" value="56917;True;3448;1;-8588944684513929784" /> 
    </appSettings> 

这显然是错误的,甚至可以根据架构。

它需要修改它的原因是指定要运行的Cassini/dev服务器的信息。我想就是这样,它似乎没有修改文件中的任何其他部分(很难说,因为它也完全重新格式化文件)。

问题是,我有什么选择才能使这个工作?

到目前为止,我只来了两个实际的人,两个子最佳

  1. 抛弃的AppSettings

  2. 交换机外部配置卡西尼号到cassinidev - 然后我就可以停止使用 [AspNetDevelopmentServer ()] 属性,这是 在web.config中需要的结果必须是 修改的

  3. 在VS中配置一些东西以防止它这样做。为什么 它甚至关心自己的哪个端口 cassini正在处理?我不能 找到任何配置设置。

  4. 等待MS来解决这个问题,所以[AspNetDevelopmentServer()]将 与外化的appSettings工作

回答

5

位的延迟,所以我不知道这是不是仍然与您有关。 ...

但是,您可以使用file=属性<appSettings>而不是configSource
即:

<appSettings file="appsettings.config" /> 

虽然configSource预计只需更换整节,file合并的章节。所以即使你添加了子元素,它仍然会从外部文件中添加额外的元素。

+0

这节省了我们这么多时间,谢谢! – 2014-03-21 15:23:52