小编Den*_*nis的帖子

TeamCity:无法在MSBuild项目中检测目标

我认为TeamCity MSBuild替换有些问题.

我尝试使用MSBuild任务(NAnt Contrib)使用NAnt编译Delphi 2010项目(MSBuild兼容).

如果我在控制台上没有TeamCity的话,一切正常.

如果我使用TeamCity尝试,我收到以下错误消息:

Failed to detect default target(s) in the project file  F:\CI\TeamCity\TeamCity\buildAgent\work\892195dab42324a3\build\src.temp\TestProject\Test.dproj.  Please define targets explicitly in the build configuration options on  TeamCity Web UI. Project does not define DefaultTargets or  InitialTargets.
Run Code Online (Sandbox Code Playgroud)

我试图通过指向Rebuild目标的MSBuild/target开关显式设置目标.到目前为止没有运气.

有什么建议?提前致谢.

编辑:

    <foreach item="File" property="iterator.dproj">
        <in>
            <items>
                <include name="${src.temp}\**\*.dproj" />
            </items>
        </in>
        <do>
            <msbuild project="${iterator.dproj}">
                <arg value="/target:Rebuild" />                 
            </msbuild>
        </do>
    </foreach>
Run Code Online (Sandbox Code Playgroud)

*.dproj文件是一个标准的delphi 2010项目文件(它用xsl转换,但它仍然是一个有效的项目文件)

EDIT2:

谢谢你.ermakovich,我用直接调用NAnt替换了msbuild任务(来自NAnt contrib),这不会在TeamCity服务器上产生错误.看起来TeamCity只会替换对NAnt contrib msbuild任务的调用.:-)

    <property name="msbuild.exe" value="${framework::get-framework-directory(nant.settings.currentframework)}\msbuild.exe" />
    <foreach item="File" property="iterator.dproj">
        <in>
            <items>
                <include name="${src.temp}\**\*.dproj" />
            </items>
        </in> …
Run Code Online (Sandbox Code Playgroud)

msbuild nant teamcity continuous-integration

6
推荐指数
1
解决办法
7776
查看次数

如何正确使用pageinit?

我为每个页面都有一个文件,我试图在每个页面上实现pageinit事件处理程序(我认为严格属于一个页面,应该在那里声明),如下所示:

<body>
    <div id="myPage" data-role="page">
        <!-- Content here -->
        <script type="text/javascript">
            $("#myPage").live('pageinit', function() {
                // do something here...
            });
        </script>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

该事件被正确绑定到页面,因此代码被执行但是 - 现在我的问题 - 如果我转到另一个页面并稍后返回pageinit事件将执行两次.我认为那是因为.live方法再次将pageinit事件绑定到页面.但是,pageinit事件不应该只在页面初始化时调用一次吗?我在这里缺少什么?

page-init jquery-mobile

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

flask:直接写入响应流

嘿所有,

我有一个烧瓶restplus服务器到位,我正在努力实现将excel作为八位字节流传送给我的客户.在序列化大型DataFrame时,似乎pandas.to_excel(..)消耗了大量时间(大约120k行30秒).

请参阅下面我当前的实施:

def format(data_frame):
    # Idea is to directly write to the flask output stream, instead of buffering
    # the whole excel as io.BytesIO. Is there a way to do it?
    output = io.BytesIO()
    writer = pandas.ExcelWriter(output, engine='xlsxwriter')
    data_frame_ordered = data_frame.reindex_axis(sorted(data_frame.columns), axis=1)

    # This consumes a lot of time
    data_frame_ordered.to_excel(writer, sheet_name='ML Data', na_rep=0, index=False, encoding='utf-8')

    # This consumes a lot of time, too.
    writer.save()

    return output.getvalue()


@api.route('/excel', methods=['GET'])
class ExcelResource(Resource):
    def get(self, args):
        # Well, thats a huge pandas.DataFrame …
Run Code Online (Sandbox Code Playgroud)

flask python-3.x pandas

6
推荐指数
1
解决办法
780
查看次数