Mas*_*low 49 asp.net publish visual-studio-2010 vs-web-application-project
我正在设置一个发布到本地测试的相对路径(尤其是xml配置转换).每个开发人员都有自己的签出项目路径,我想设置一个与机器/环境无关的发布.
发布对话框不会暗示其中允许的任何变量或通配符,也不接受obj\publish或file://./obj/publish
有没有办法发布到相关的文件系统路径?
Mic*_*out 50
对于使用Visual Studio 2012和新发布配置文件(Properties/PublishProfiles/Local.pubxml)的用户,可以在文件本身中使用此语法:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<SiteUrlToLaunchAfterPublish />
<publishUrl>$(MSBuildThisFileDirectory)..\..\obj\publish</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
请注意,$(MSBuildThisFileDirectory)属性将解析为Local.pubxml目录.从那里你应该遍历到达你需要的地方.
mar*_*wer 17
对于Visual Studio 2012,此解决方案将无法运行.你应该在这之后看看michielvoo的答案.
尝试并尝试后,我找到了解决方案:您可以通过设置使用相对路径
file:///./obj/publish
Run Code Online (Sandbox Code Playgroud)
在Publish WebApp对话框中,但您必须使用您正在使用的用户已存在且可写的路径.这样,您可以在本地文件夹或路径相关文件夹中发布Web应用程序.
如果这有帮助,请告诉我.它对我有用.
在 Visual Studio 2012 中,只是一条带正斜杠的常规路径:
../../../../../app
Run Code Online (Sandbox Code Playgroud)
这从已发布项目的根目录开始。
这在Visual Studio 2013中对我有用:
file:\\..\..\..\Publish
Run Code Online (Sandbox Code Playgroud)
请注意,这不会像原始海报那样发布到obj\publish,而是发布到我想要的系统上的另一个目录(几个文件夹).如果您愿意,可以将其修改为obj\publish.
VS 2015 接受类似的东西
..\..\..\DeployFiles
Run Code Online (Sandbox Code Playgroud)
如果该文件夹丢失,它还会创建该文件夹,以便您的发布设置可以进入源代码管理,但您可以轻松忽略 DeployFiles 文件夹及其内容。
| 归档时间: |
|
| 查看次数: |
16510 次 |
| 最近记录: |