相关疑难解决方法(0)

MSBuild任务配置属性

我有三个Visual Studio解决方案.第一个配置为构建为Release,另外两个设置为构建为Debug.

当运行一个简单的MSBuild脚本显式声明要构建的配置(Debug)时,第一个项目仍然构建为Release.

示例脚本:

<Target Name="Build">
    <ItemGroup>
        <ProjectToBuild Include="$(SolutionsPath)\Solution1.sln"/>
        <ProjectToBuild Include="$(SolutionsPath)\Core\Solution2.sln"/>
        <ProjectToBuild Include="$(SolutionsPath)\UI\Solution3.sln"/>
    </ItemGroup>
    <MSBuild Projects="@(ProjectToBuild)"
             Targets="Rebuild"
             Properties="Configuration=Debug;Platform=Any CPU"/>
</Target>
Run Code Online (Sandbox Code Playgroud)

我已经尝试了以上的变体,如下所示,但我总是得到相同的结果.

<Target Name="Build">
    <ItemGroup>
        <ProjectToBuild Include="$(SolutionsPath)\Solution1.sln">
            <Properties>Configuration=Debug</Properties>
        </ProjectToBuild>

        <ProjectToBuild Include="$(SolutionsPath)\Core\Solution2.sln">
            <Properties>Configuration=Debug</Properties>
        </ProjectToBuild>

        <ProjectToBuild Include="$(SolutionsPath)\UI\Solution3.sln">
            <Properties>Configuration=Debug</Properties>
        </ProjectToBuild>
    </ItemGroup>
    <MSBuild Projects="@(ProjectToBuild)"
             Targets="Rebuild"
             Properties="Platform=Any CPU"/>
</Target>
Run Code Online (Sandbox Code Playgroud)

我注意到有一个类似的问题,MSBuild任务 - 构建失败,因为一个解决方案是在发布而不是调试中构建的,但这是特定于TFS和Teambuild.我正在谈论纯MSBuild与从头开始创建的简单项目文件.

我该如何解决这个问题?

msbuild msbuild-task

19
推荐指数
3
解决办法
4万
查看次数

需要一些TFS2010的帮助+一个自动Build +'配置来构建=调试'

真.奇怪的.SHIZ.

当我执行TFS Team Build(with Remote Deploy)时,我在网页上的一些#if DEBUG 预处理程序指令代码不会被调用.当我手动 one-click deploy (remote deploy)preprocessor directive代码工作.当我在本地调试时,代码也可以工作.

所以 - 问题看起来与我的配置设置有关Build Template(我想??).所以,这就是我所拥有的: -

alt text http://img256.imageshack.us/img256/4070/59603294.png

没什么太难的.那说... 请善待编译.在'DEBUG'模式下构建我的项目(读取:项目,不是解决方案).

我的代码如下: -

#if DEBUG
    Log.Debug("We are in DEBUG mode.");
#else
    Log.Debug("We are _NOT_ in DEBUG mode.");   
#endif
Run Code Online (Sandbox Code Playgroud)

因此,当调用此代码(在某些aspx页面中)时,它会打印出"我们处于DEBUG模式".什么时候

  • Localhost(Localhost配置:调试)
  • 具有手动一键式重新部署的远程服务器(Localhost Configuration:Debug)

但不是当我让TFS的持续整合开始时.

FML.

我试图看看它是否是CASING情况(即#if debug#if Debug),但它仍然不起作用.

然后我甚至尝试明确地告诉MSBuild配置....

替代文字http://img294.imageshack.us/img294/9970/75495143.png

仍然没有爱.

哦..但这是工友!我ALSO有一些web.config文件转换

  • web.config中
  • web.debug.config
  • web.release.config

...你能猜出哪个文件被转换了?如果你猜对 …

asp.net debugging preprocessor tfs2010

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

使用相同的TFS构建定义构建解决方案和项目

我正在尝试使用包含解决方案文件和项目文件的TFS 2012构建定义.

构建运行时,解决方案无法构建.相反,我得到的警告如下:

F:\ Source\1\MyCode\src\MySolution.sln.metaproj:指定的解决方案配置"Release | AnyCPU"无效.请使用"配置和平台"属性指定有效的解决方案配置(例如,MSBuild.exe Solution.sln/p:Configuration = Debug/p:Platform ="Any CPU")或将这些属性留空以使用默认解决方案配置.

这是由于一个错误导致Visual Studio使用"Any CPU"作为解决方案文件的平台,而它使用"AnyCPU"作为项目文件.请参阅:http: //connect.microsoft.com/VisualStudio/feedback/details/503935/msbuild-inconsistent-platform-for-any-cpu-between-solution-and-project

有没有办法配置我的构建,以使这项工作尽管有问题?即,一种将特定平台值传递给特定sln构建命令同时将不同值传递给其他命令的方法?

msbuild tfs tfsbuild visual-studio

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