【发布时间】:2016-05-19 15:50:13
【问题描述】:
我有这三个项目的解决方案。
- Web API
- DAL
- 域
DAL 项目是一个具有 Web 引用的类库。因此,该项目中的 app.config 具有如下部分:
<applicationSettings>
<Company.Project.Domain.Properties.Settings>
<setting name="Company_Project_Domain_Some_Service" serializeAs="String">
<value>http://my.server.local:8888/somePath/service.asmx</value>
</setting>
</Company.Project.Domain.Properties.Settings>
</applicationSettings>
我已经安装了slow cheetah,并且正在这个 DAL 项目中使用配置转换。例如,我有一个 app.production.config 将上述 Web 引用转换为指向生产 Web 引用,如下所示:
<applicationSettings>
<Company.Project.Domain.Properties.Settings>
<setting name="Company_Project_Domain_Some_Service" serializeAs="String">
<value>http://my.PRODUCTIONSERVER.local:8888/somePath/service.asmx</value>
</setting>
</Company.Project.Domain.Properties.Settings>
</applicationSettings>
当我发布 API 时,web.config 不包含上面显示的任何应用程序设置。我可以使用反射器钻入 DAL.dll 并查看 service.asmx 路径。但是,它不进行转换,因此发布的应用程序不使用 my.PRODUCTIONSERVER.local:8888。
这两个问题。
- 为什么发布不使用引用类库中的 xdt 转换?
- 如果应用程序设置块必须位于 Web API 项目的 web.config 中,这是否意味着我应该从 DAL 中删除 Web 引用并将其添加到 Web API 项目中? ...或者我可以只留下参考并将相关的 applicationSettings 块复制到 web.config 吗?
【问题讨论】:
标签: asp.net-web-api2 publishing slowcheetah xdt-transform