相关疑难解决方法(0)

当代码更改时,Visual Studio 2010不会在运行之前构建

多年来我一直在使用F5(开始调试)来构建代码(如果它已过时),然后进行调试.这也适用于VS 2010,但是今天它只是在没有构建的情况下开始调试.假设我对项目执行了清理,然后点击F5而不是构建它以便它可以运行它会抛出一条错误消息,指出exe不存在运行.我如何让它先建立?有什么可以改变的?

debugging build visual-studio-2010 visual-studio

126
推荐指数
5
解决办法
5万
查看次数

如何让visual studio可靠地运行预构建/编译?

我有问题让MSBuild和VisualStudio基于相同的csproj文件工作相同.

我基本上是在尝试为数据库创建一个安装程序.数据库更改位于另一个目录中的xml文件中.我需要将这些内容添加到程序中,然后在运行时将通过查询来选择要应用的程序.

我的想法是有一个预构建/编译步骤,它会压缩目录并在运行程序时将该zip文件作为资源.我也可以在发布脚本中编译资源,但这种方式看起来更好,因为它可以更容易地调试应用程序.

我已将以下内容添加到csproj文件中

<Target Name="PreBuildStep">
    <ItemGroup>
        <Patches Include="..\..\Database\**\*" />
    </ItemGroup>
</Target>
<Target DependsOnTargets="PreBuildStep" Name="BeforeBuild" Inputs="@(Patches)" Outputs="Resources\database.zip">
    <Exec Command="7z.bat a Resources\database.zip ..\..\Database -tzip" />
</Target>
Run Code Online (Sandbox Code Playgroud)

这在从MSBuild运行解决方案或项目时有效.增量构建参数(输入+输出)似乎也有效 - 如果我修改输入它会重新创建输出,如果我不这样做.同样,如果我删除输出文件,它会重新创建它.

我刚刚在我的路径上添加了一个批处理文件来获取7z.bat - 所有这一切都是调用7zip命令行(7z.exe).

问题是Visual Studio似乎没有运行MSBuild,似乎不可能让它可靠地运行任何东西 - 我也尝试覆盖依赖于Build和使用预构建事件,所有这些都具有相同的行为.

基本上会发生什么,它会偶尔工作,但如果我删除输出文件,然后按F5(调试哪个已在配置管理器中检查构建)或甚至ctrl + shift + b构建然后它不会被重新创建.如果我进行重建或清理并构建,那么它按预期工作.

有谁知道如何让这个工作?我应该报告VisualStudio中的错误吗?感觉VisualStudio不会调用MSBuild,除非它决定代码有一些变化.

c# msbuild visual-studio-2013

2
推荐指数
1
解决办法
1159
查看次数