MSBUILD web部署包不包括项目引用DLL';s
当我尝试使用msbuild为web部署创建包时,它只包含项目dll。包zip文件或临时目录不包括引用项目的DLL 我已经看过了,这不是我的问题。我肯定是在使用我的主项目中引用的项目的代码,我正在为其创建部署包 我正在使用MSBUILD 4创建包 当我使用完全相同的项目文件使用VS2010创建包时,它工作得很好。所有引用的项目的DLL都包含在package.zip文件中 我尝试过更改_PackageTempDir的位置,但这也没有解决问题 我已尝试删除ExcludeFilesFromDeployment属性,并将PackageAssingFile设置设置为false,以查看这是否会改变结果 这是我的目标包。所有的正则表达式都是这样,我可以从搜索路径的末尾提取我的项目文件名,然后将该名称用作输出文件夹的名称和zip文件的名称。PackageOutputDir是一个正在导入的属性MSBUILD web部署包不包括项目引用DLL';s,msbuild,webdeploy,msbuild-4.0,microsoft-web-deploy,Msbuild,Webdeploy,Msbuild 4.0,Microsoft Web Deploy,当我尝试使用msbuild为web部署创建包时,它只包含项目dll。包zip文件或临时目录不包括引用项目的DLL 我已经看过了,这不是我的问题。我肯定是在使用我的主项目中引用的项目的代码,我正在为其创建部署包 我正在使用MSBUILD 4创建包 当我使用完全相同的项目文件使用VS2010创建包时,它工作得很好。所有引用的项目的DLL都包含在package.zip文件中 我尝试过更改_PackageTempDir的位置,但这也没有解决问题 我已尝试删除ExcludeFilesFromDeploym
<Target Name="Package">
<MSBuild Projects="@(PackageProject)" Targets="Package" Properties="Platform=$(Platform);
Configuration=$(Configuration);
DeployOnBuild=true;
DeployTarget=Package;
PackageLocation=$(PackageOutputDir)\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2])\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2]).zip;
PackageAsSingleFile=true;
ExcludeFilesFromDeployment=Web.config;
_PackageTempDir=$(PackageOutputDir)\temp;">
</MSBuild>
</Target>
关于为什么不包括我的参考项目DLL,有什么想法吗?您可以在MasterBuild.proj中执行以下操作
<Target Name="Package">
<ConvertToAbsolutePath Paths="$(PackageOutputDir)">
<Output TaskParameter="AbsolutePaths" PropertyName="Source_Dir_Abs"/>
</ConvertToAbsolutePath>
<MSBuild Projects="@(PackageProject)" Targets="Package"
properties="Platform=$(Platform);
Configuration=$(Configuration);
DeployOnBuild=false;
DeployTarget=Package;
PackageLocation=$(Source_Dir_Abs)\$(PackageProjectName).zip;
PackageAsSingleFile=true;
ExcludeFilesFromDeployment=Web.config;
_PackageTempDir=$(PackageOutputDir)\temp;">
</MSBuild>
</Target>
在调用msbuild时,需要通过执行以下操作添加将在$(PackageProjectName)中使用的属性:
msbuild.exe/property:PackageProjectName=$project我想知道为什么DeployOnBuild=true会导致程序集未复制到obj文件夹