[英]Using MSDeploy/Web Deploy as Publish method in Visual Studio with multiple users
[英]Visual Studio Publish MSdeploy $(SolutionDir)
我在使用MSDeploy和Visual Studio的发布配置文件时遇到麻烦的问题。 在我的项目中,我有一个属性组,我设置了一个项目供以后参考。
<LocalBuildLocation>$(SolutionDir)WebSites\MyWebSite\</LocalBuildLocation>
不幸的是,Visual Studio将从该属性中随机删除$(SolutionDir)
字符串,并且我的构建将失败。 我将其手动复制回去,一切顺利。
谁能想到这个项目为何会不断将其移除?
像
$(SolutionDir)
这样的Visual Studio宏在MSBuild中不起作用。 您可以改用项目属性。
使用$(ProjectDir)
(更安全的项目级别属性)或$(MSBuildProjectDirectory)
(最安全,始终存在)
请参阅: $(SolutionDir)MSBuild属性不正确,当通过CMD运行Sandcastle帮助文件生成器并在vcproj文件中获取$(ProjectDir),$(SolutionDir)的值时
看起来$SolutionDir
(有时)可以与MSBuild一起使用,但是仅当您从解决方案文件进行构建时。 大多数情况下,它与$ProjectDir
相同。
但是,您不应在MSBuild中使用它们。 即使它们有时起作用-这也不可靠。 正如另一个答案所指出的那样:
像$(SolutionDir)这样的Visual Studio宏在MSBuild中不起作用。 您可以改用项目属性。
来源: 构建过程中的代码生成
$(ProjectDir)项目的目录(定义为驱动器+路径); 包括结尾的反斜杠“ \\”。
$(SolutionDir)解决方案的目录(定义为驱动器+路径); 包括结尾的反斜杠“ \\”。
注意:
您可以在接受字符串的项目的“属性页”对话框中的任何位置使用这些宏。
来源: 构建命令和属性的宏
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.