我有一个基本的MSBuild脚本,其中包括一个项目编译/构建步骤。看起来像这样:MSBuild工作在调试模式,但不是发布模式 - 另一个有趣的anamoly
....
<ItemGroup>
<ProjectReferences Include="loc1\Project1.csproj"/>
<ProjectReferences Include="loc2\Project2.csproj"/>
<ProjectReferences Include="loc3\Project3.csproj"/>
</ItemGroup>
....
<Target Name="BuildProjects">
<Message Text="Beginning main project build"/>
<MSBuild Projects="@(ProjectReferences)" Targets="Build" Properties="Configuration=$(Configuration);ProjectBuild=$(ProjectBuild);AppDir=$(AppDir)">
<Output TaskParameter="TargetOutputs" ItemName="AssembliesBuilt"/>
</MSBuild>
<!--<CallTarget Targets="BuildToolkit"/>-->
</Target>
Project3.csproj
是一个.NET 3.5 Web服务项目。配置通过命令行传入。
首先是System.Linq无法解决问题;我通过直接在项目文件中创建对System.Core
的引用(显然这经常发生并需要此修复)来弥补这一点。
现在,当我在调试模式下构建这个项目时,一切都很好。然而,试图建立在释放模式时,它不能像这样,与有关的各种组件的消息可能:
Considered "c:\Program Files (x86)\Reference Assemblies\Microsoft\VST040\v8.0\MyReferencedProjectAssembly.dll", but it didn't exist.
这发生过很多次了许多参考资料。奇怪的是,在发生这种情况之后,我切换回调试模式,并且在发布模式发生后无法再次构建。我必须从MSBuild文件中删除有问题的Project3,再次运行(可以工作),并在调试模式下再次将有问题的Project3重新添加到文件中。
我难倒。有任何想法吗?