我想部署我的ASP.NET MVC站點並擁有以下腳本。MSBuild:OutputPath目錄爲空
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\MyProjName\MyProjName.csproj"/>
<PropertyGroup>
<NewInstallDir>C:\DeployFolder\</NewInstallDir>
<BinDir>$(NewInstallDir)bin\</BinDir>
</PropertyGroup>
<Target Name="Build">
<MSBuild Projects="..\MySlnName.sln"
Properties="Configuration=Release;Platform=Any CPU;OutputPath=$(BinDir)" />
<Copy SourceFiles="@(Content->'..\MyProjName\%(RelativeDir)%(FileName)%(Extension)')"
DestinationFiles="@(Content->'$(NewInstallDir)%(RelativeDir)%(FileName)%(Extension)')" />
<Copy SourceFiles="@(None->'..\MyProjName\%(RelativeDir)%(FileName)%(Extension)')"
DestinationFiles="@(None->'$(NewInstallDir)%(RelativeDir)%(FileName)%(Extension)')" />
<MakeDir Directories="@(Folder->'$(NewInstallDir)%(RelativeDir)')" />
</Target>
</Project>
主要想法。
我將二進制文件複製到C:\ DeployFolder(從源文件夾獲取文件夾結構)。我建立我的DLL到C:\ DeployFolder \ Bin(我沒有在源文件夾中的這個文件夾,所以我需要單獨複製這個)。
我運行我的腳本 - 所有的作品,而不是複製DLL到OutputPath。相同的腳本適用於其他asp.net mvc項目。在這種情況下,我不知道什麼是錯的。
我用變通辦法完成此問題,但我想知道這個腳本有什麼問題。
Thanks!OutDir help in the case。 – RredCat 2011-05-31 16:15:58
對於任何人打這個答案多年後,評論底部的[.NET 3.5](https://msdn.microsoft.com/en-us/library/bb629394%28v=vs.90%29.aspx)的MSBuild屬性文檔似乎表明,在2008年有一些關於頁面說'OutputPath'已被棄用,但該頁面後來改變了。對於[.NET 4.0](https://msdn.mi crosoft.com/en-us/library/bb629394%28v=vs.100%29.aspx)以及更新的'OutputPath'記錄爲使用者。請注意,在VS2015中,'OutputPath'和'OutDir' _work_對我來說,但'OutputPath'是在項目文件codegen中使用的。 – Daryn 2016-01-22 01:14:12
啊,'$(OutDir)'是一個[「Macro」](https://msdn.microsoft.com/en-us/library/c02as0cs.aspx) – Daryn 2016-01-22 01:27:50