Msbuild在转换时未复制web.config文件

6

在使用MSBuild发布后,TransformWebConfig文件夹为空。以下是TeamCity日志:

[09:31:43]: [CollectWebConfigsToTransform] GetPublishingLocalizedString 
[09:31:43]: [GetPublishingLocalizedString] Found The following for Config tranformation:
{0}
[09:31:43]: [it\it.vbproj.teamcity] PipelineTransformPhase 
[09:31:43]: [PipelineTransformPhase] GetPublishingLocalizedString 
[09:31:43]: [GetPublishingLocalizedString] Publish Pipeline Transform Phase 
[09:31:43]: [it\it.vbproj.teamcity] AutoParameterizationWebConfigConnectionStringsCore
[09:31:43]: [AutoParameterizationWebConfigConnectionStringsCore] Skipping target
"AutoParameterizationWebConfigConnectionStringsCore" because it has no inputs. 
[09:31:43]: [it\it.vbproj.teamcity] CopyAllFilesToSingleFolderForPackage (1s) 
[09:31:43]: [CopyAllFilesToSingleFolderForPackage] GetPublishingLocalizedString 
[09:31:43]: [GetPublishingLocalizedString] Copying all files to temporary location below for package/publish:obj\Deploy-Dev\Package\PackageTmp.

Web.config文件位于目录中。只是不明白为什么它没有读取到。此外,在发布后,目标文件夹包含web.deploy和web.release文件,而不是web.config文件。请帮忙。


我有一个与app.config类似的问题。我认为这与{编译,发布,转换}的顺序有关。链接 - oleksii
我正在使用以下的命令行参数 /M /P:Configuration=%env.Configuration% /P:DeployOnBuild=True /P:DeployTarget=MSDeployPublish /P:MsDeployServiceUrl=%env.TargetServer%/MsDeployAgentService /P:MSDeployPublishMethod=RemoteAgent /P:CreatePackageOnPublish=True /P:Username=%env.username% /P:Password=%env.password% 这些参数在其他项目中运行良好,只是在一个项目中出现了问题。 - sam
1个回答

17

绕了一些弯路后,发现web.config属性设置为“Do not Copy”,将其更改为“copy always”,其次“Build action”被设置为“none”,将其更改为“content”。希望能对某些人有所帮助。


我右键单击Web.config > 属性,将“生成操作”更改为“内容”,并将“复制到输出目录”更改为“仅在较新时复制”。 - Stewie
3
将“Build Action”设置为“Content”似乎是关键。我认为不需要选择“始终复制”,因为它会被复制到无关紧要的 bin 目录中。 - Subhash Dike
1
对于未来的读者:这个答案是正确的,但Subhash的评论(对这个答案的评论)更加正确。感谢两位! - granadaCoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接