草庐IT

msbuild-task

全部标签

c# - MSbuild 构建顺序问题 - 首先是预构建步骤或首先是依赖项目

我有一个项目A依赖于项目B。项目A有一些预构建任务依赖于项目B的一些生成文件。当我在VisualStudio中构建时,没问题。但是当使用MSBuild.exe时,就会出现问题,因为构建顺序是:A的预构建步骤B已编译A编译这是使用MSBuild的预期行为吗?有没有办法告诉MSBuild在A的预构建步骤之前先执行B?我正在使用VS2010C#和C++/CLI。我不认为是否提供额外的信息,但它是这样称呼的:Runningprocess(C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBUILD.exe"..\..\..\dev\build\My

c++ - 如何使自定义 MSBuild 目标的执行依赖于文件的时间戳?

我正在处理的C++项目(我将其从VS2008转换为VS2010)过去使用多个vcbuild.rules文件来指定自定义构建规则。这些.rules文件对于CustomBuildRule节点有一个特定的“AdditionalDependencies”属性,它指定了一个文件列表,在计算目标是否需要重建时应该考虑这些文件。这些“AdditionalDependencies”在VS2010转换期间被忠实地转移到相应的.props文件中。与自定义构建规则关联的.targets文件确实将这些AdditionalDependencies添加到Target节点的Inputs属性中。这可确保在依赖项中列出

c++ - boost asio : different thread pool for different tasks

网络上有很多关于创建简单线程池的示例,例如Sample1和Sample2虽然我想要实现的是为不同的任务提供一个单独的线程池。例如,应用程序可能有一个线程池用于处理传入的tcp连接(我们称之为网络池),而另一个线程池用于与数据库(数据库池)对话。这些传入的tcp请求可能需要来自数据库的信息。在这种情况下,它需要请求数据库池中的那些线程执行查询,并异步返回结果。是否有使用boost::asio的推荐方法?每个池都有一个io_service实例吗?这些线程应该如何相互通信(使用boost)?我明白要解释所有这些,代码不会那么短和琐碎,但如果可能的话,一些伪代码将不胜感激。谢谢!

c++ - 将 packaged_task 移动到 lambda

我想在lambda中移动并调用boost::packaged_task。但是,我想不出一个优雅的解决方案。例如这不会编译。templateautobegin_invoke(Func&&func)->boost::unique_future//noexcept{typedefboost::packaged_tasktask_type;autotask=task_type(std::forward(func));autofuture=task.get_future();execution_queue_.try_push([=]{try{task();}catch(boost::task_a

c++ - std::packaged_task 编译错误 w/gcc 4.6

我正在尝试使用std::packaged_task在线程中启动函数Queryquery;/*protobufobject*//*fillQueryobject*/std::packaged_tasktask([](Query&q)->SearchResults{index::core::Mergermerger;returnmerger.search(q);});std::futureftr=task.get_future();std::thread(std::move(task),query).detach();Edit2:再次更新代码以修复错误并包含完整的错误消息。g++-4.6(

c++ - std::packaged_task 是如何工作的

我正在分析以下代码片段并试图详细理解它:templateautoThreadPool::add(FUNCTION&&Function,ARGUMENTS&&...Arguments)->std::future::type>{usingPackedTask=std::packaged_task::type()>;autotask=std::make_shared(std::bind(std::forward(Function),std::forward(Arguments)...));//getthefuturetoreturnlaterautoret=task->get_future(

C++ 无法将 lambda 转换为 std::pair 中的 std::packaged_task

我用std::packaged_task做了一些测试遇到了这个问题。std::packaged_tasktask([]()->int{return1;});task();编译和调用task()调用lambda。但是,这不会编译:std::pair>pair(15,[]()->int{return15;});pair.second();因为errorC2664:'std::pair>::pair(conststd::pair>&)':cannotconvertargument2from'main::'to'conststd::packaged_task&'然而,这确实编译:std::ve

ios - GCD : How to check if the task is runnig

我正在使用以下代码运行任务,mTimerForImageUpload=dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER,0,0,queue);if(mTimerForImageUpload){dispatch_source_set_timer(mTimerForImageUpload,dispatch_time(DISPATCH_TIME_NOW,NSEC_PER_SEC*uploadCheckInterval),NSEC_PER_SEC*uploadCheckInterval,leeway);dispatch_source_set_e

ios - 无法结束 BackgroundTask : no background task exists with identifier 1fd57580, 或者它可能已经结束

AppDelegate.m文件包含-(void)applicationDidEnterBackground:(UIApplication*)application{UIBackgroundTaskIdentifiertaskID=[applicationbeginBackgroundTaskWithExpirationHandler:^{[applicationendBackgroundTask:taskID];}];}我不知道为什么我在gdb中收到这条消息Can'tendBackgroundTask:nobackgroundtaskexistswithidentifier1fd575

iphone - 为什么 get-task-allow 没有显示在我的 Entitlements.plist 文件中?

因此,我正在尝试设置我的第一个ios应用程序以进行临时分配,但我得到了可怕的“无效配置文件:开发人员构建权利必须将get-task-allow设置为true。”错误。因此,在我寻求帮助之前,我在互联网上摸索着试图弄清楚,并想出更改我的“Entitlements.plist”文件并将get-task-allow更改为true。好吧……当我转到xcode4并查看我的“Entitlements.plist”文件时,它不在那里。我尝试添加它,结果出现了。知道我做错了什么以及如何解决这个问题吗?谢谢。 最佳答案 CanBeDebugged键是