小编Chr*_*her的帖子

TeamCity命令行构建运行器:如何使构建失败?

我们使用TeamCity的命令行构建运行器来调用bat文件.bat文件通过调用Visual Studio 2008的"devenv.exe"构建我们的解决方案,然后执行单元测试并创建正确的文件夹结构.

如果对devenv的调用失败并使TeamCity意识到构建失败,我们想要做的是停止执行bat文件.我们可以通过检查ErrorLevel(如果构建失败时为1)来捕获失败的devenv调用,并且我们可以在那时退出我们的bat文件.但是我们怎么能告诉TeamCity构建失败了呢?

这是我们尝试过的:

call "build.bat"
IF ERRORLEVEL 1 EXIT /B 1
Run Code Online (Sandbox Code Playgroud)

但是TeamCity无法识别我们的退出代码.相反,构建日志如下所示:

[08:52:12]: ========== Build: 28 succeeded or up-to-date, 1 failed, 0 skipped ==========
[08:52:13]: C:\_work\BuildAgent\work\bcd14331c8d63b39\Build>IF ERRORLEVEL 1 EXIT /B 1 
[08:52:13]: Process exited with code 0
[08:52:13]: Publishing artifacts
[08:52:13]: [Publishing artifacts] Paths to publish: [build/install, teamcity-info.xml]
[08:52:13]: [Publishing artifacts] Artifacts path build/install not found
[08:52:13]: [Publishing artifacts] Publishing files
[08:52:13]: Build finished
Run Code Online (Sandbox Code Playgroud)

因此,TeamCity将报告构建成功.我们该如何解决这个问题?

解:

TeamCity提供了一种称为服务消息的机制,可用于处理这种情况.我已将构建脚本更新为如下所示:

IF %ERRORLEVEL% == 0 GOTO …
Run Code Online (Sandbox Code Playgroud)

teamcity command-line visual-studio-2008 teamcity-5.1

27
推荐指数
1
解决办法
8631
查看次数

WPF工具包DatePicker仅限月/年

我正在使用上面的Toolkit的Datepicker,但我想将它限制为仅限月份和年份,因为在这种情况下用户不知道或不关心确切的日期.显然,数据存储在Datetime中格式将存储日,但这与我无关.是否有一种简单的方法来解决这个问题?

谢谢

c# datetime datepicker wpftoolkit

20
推荐指数
6
解决办法
4万
查看次数

修改在SQL Server中用作列默认值的函数

我们遇到了编码不良的SQL函数的问题(在现场工作正常,但在我们的测试环境中没有).此函数用于在许多表中提供默认值,尝试ALTER函数返回"无法更改###,因为它正被对象引用"错误.

有没有办法绕过这个错误信息?我能想到的唯一方法是尝试编写一个脚本,将其从每个默认情况下的表中删除,改变函数并在之后重新添加.

谢谢

sql t-sql constraints function

11
推荐指数
2
解决办法
6994
查看次数

11
推荐指数
1
解决办法
2268
查看次数

是否有像Visual Studio应用程序的任务管理器?

有时我觉得Visual Studio 2010非常迟钝.我有一些插件,例如ReSharper,我认为可能是罪魁祸首.如果我能够在visual studio下看到进程来查看所有CPU的使用情况,那将是很好的.基本上我正在寻找的是一个任务管理器,就像谷歌Chrome中的那个,但是对于Visual Studio.我搜索了互联网并没有得到什么.

visual-studio

7
推荐指数
1
解决办法
1424
查看次数

单击组合框时,WPF Listview/Gridview 设置所选项目

我在使用 GridView 作为 ListView 的视图时遇到问题,我想要做的是当用户从 Gridview 中的组合框中进行选择时触发一个事件,并在事件中传递所选项目。

  • 我的第一个问题是,当用户单击一行中的组合框时,该行不会被选中(这意味着所选项目保持为空,除非他们先单击其他地方)。有没有一种干净的方法可以做到这一点,而无需尝试捕捉鼠标点击或其他任何东西?
  • 其次,WPF 组合框上没有选择更改提交事件,除了检查组合框是否启用之外,是否有更干净的方法来检查用户是否手动选择了选项?

谢谢

c# wpf gridview combobox selecteditem

5
推荐指数
1
解决办法
2215
查看次数

Process.Start()的替代方案

我刚刚完成了对文档存储解决方案的编码,我遇到了以下问题.在UI中,用户可以按下按钮打开文件:

try
{
    Process.Start(file);
}
catch (Exception ex)
{
    //Error handling code
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果用户没有与文件类型相关联的应用程序,则抛出componentmodel异常,并显示一条消息.

我宁愿做的是在那种情况下弹出"打开方式"对话框,是否有方法调用我不见了?

c# file-io process

5
推荐指数
2
解决办法
3197
查看次数

与路由不匹配时,OWIN中的WebApi总是返回200而不是404

我有一个相对简单的WebApi网站,其中包含几个控制器,它们在OWIN中以AutoFac作为DI容器运行。

该站点仅使用属性路由进行设置,但即使遇到无效路由也始终返回200 OK响应。我们也有一些过滤器和一个运行的静态文件服务器,但是我已经注释掉了启动文件中的所有代码(所有IAppBuilder调用,甚至是HttpConfiguration的创建),但是我们仍然可以做到这一点。在IIS和IIS Express中都会发生这种情况。

我也曾尝试在其中添加默认路由,但看到的行为相同。

我已经读了一些书,并且了解到我可以在流水线中编写某种钩子,或者编写一个具有捕获所有路由和返回404的动作的控制器,但是感觉好像没有必要。

这是默认行为吗?

我已经看过这个答案了,但我们没有global.asax:ASP.NET Web Api在应返回404时返回200 OK

请参见下面的精简代码,该代码仍能说明问题

启动文件

[assembly: OwinStartup(typeof(Startup))]
namespace Api.blah
{
    using Owin;

    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            var config = new HttpConfiguration();

            var container = this.GetAutofacContainer(config);
            config.DependencyResolver = new AutofacWebApiDependencyResolver(container);

            config.MapHttpAttributeRoutes();

            app.UseWebApi(config);
        }

        private IContainer GetAutofacContainer(HttpConfiguration config)
        {
            ContainerBuilder containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterApiControllers(Assembly.GetExecutingAssembly());

            return containerBuilder.Build();
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

HealthController.cs

namespace Api.blah.Controller
{
    [RoutePrefix("api/health")]    
    public class HealthController : ApiController
    {
        public HealthController()
        {

        }

        [HttpGet]
        [Route]
        public …
Run Code Online (Sandbox Code Playgroud)

asp.net routes url-routing owin asp.net-web-api2

5
推荐指数
1
解决办法
499
查看次数