我有一个包含多个vdproj文件的解决方案.我在build.proj文件中创建了一个项目组:
<ItemGroup>
<SetupProjectFiles Include="$(MSBuildProjectDirectory\**\*.vdproj">
</SetupProjectFiles>
Run Code Online (Sandbox Code Playgroud)
现在我想在每个上面调用devenv.exe吗?
<Exec Command="devenv.exe %(SetupProjectFiles)"></Exec>
Run Code Online (Sandbox Code Playgroud)
不行......任何人都有指点吗?
有一些值得仔细检查的东西.查看此列表并查看下面的代码段以获取工作示例.
确保vdproj文件的路径正确.尝试在每个文件路径的日志中写入消息,以便验证包含哪些vdproj文件.
确保vdproj包含在解决方案的所需构建配置中; 如果要构建"调试"配置,请确保在解决方案的构建配置管理器中检查了"调试"配置组合的vdproj .您可以全局设置它,也可以为每个SetupProjectFiles项目的元数据中指定的每个vdproj设置它(例如,请参阅下面的代码段).
确保使用完整的devenv.exe路径.您可以使用环境变量来帮助解决这个问题.
确保MSBuild Exec任务语法和devenv.exe语法正确,例如,使用/build开关并使用"带有空格字符的路径.
编辑:更正了代码中的拼写错误
<ItemGroup>
<SetupProjectFiles Include="$(MSBuildProjectDirectory)\**\*.vdproj">
<Configuration>Release</Configuration>
</SetupProjectFiles>
</ItemGroup>
<PropertyGroup>
<!-- VS110COMNTOOLS is for VS2012. VS100COMNTOOLS is for VS 2010. VS90COMNTOOLS is for VS2008 -->
<DevEnvLocation>$(VS100COMNTOOLS)..\IDE\devenv.exe</DevEnvLocation>
</PropertyGroup>
<Message Text="vdproj file: %(SetupProjectFiles.FullPath)" />
<Exec Command=""$(DevEnvLocation)" "%(SetupProjectFiles.FullPath)" /build "%(SetupProjectFiles.Configuration)"" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1162 次 |
| 最近记录: |