【发布时间】:2015-02-03 03:56:58
【问题描述】:
我有许多 WCF Web 服务,我正在尝试将它们部署到 TFS 构建上的目录结构中。项目结构如下所示:
Services Directory (svc.sln)
- Project1 (project1.csproj)
- Project2 (project2.csproj)
- Project3 (project3.csproj)
- ServicesProject
- Project1
- Project1.svc
- Project2
- Project2.svc
- Project3
- Project3.svc
- bin
- Project1.dll
- Project2.dll
- Project3.dll
所以,为了在我的桌面上部署它,我只需加载 ServicesProject.csproj,发布,选择一个发布配置文件,它就会愉快地发布到单个目录(准备好复制到 IIS)。
然后我尝试使用参数将其添加到 TFS 构建中:
/p:DeployOnBuild=true /p:PublishProfile=MyPublishProfile
我收到一个错误,说:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets (182): Could not copy the file "bin\Project1.dll" because it was not found.
我查看了代理构建目录,果然,那里只有一个 dll (ServicesProject.dll)。然后我将构建更改为构建 svc.sln,但我仍然遇到相同的错误。我检查了 sln 文件的构建顺序,它确实有 ServicesProject 最后,但是,日志文件表明它是第二个构建的。
我已经提供了很多细节,以防这个问题的答案在于我正在采取的方法,而不是我实际在做什么的细节。
我的问题是:我这样做是否正确,如果是,为什么 sln 文件的构建顺序错误。有没有更简单的方法来实现这一点?
【问题讨论】: