小编Dan*_*nov的帖子

MSBuild:复制文件(如果已更改)然后执行操作(仅在文件更新时)

在MSBuild中,我可以使用该Copy任务将文件从一个位置复制到另一个位置.

我还可以使用该SkipUnchangedFiles属性指定如果文件未更改,则不应复制这些文件.

是否存在一个标准模式,用于在复制一个或多个文件的情况下预测后续操作?

例如:

  1. 复制任何更新的部署脚本
  2. 当且仅当一个或多个脚本已更改时,执行以正确顺序运行所有部署脚本的批处理文件

另一个复杂因素是我正在使用该CreateItem任务动态生成输入文件列表:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="CopyAndRun">
  <Target Name="CopyAndRun">
    <CreateItem Include="In\**\*Test*.txt">
      <Output TaskParameter="Include" ItemName="SourceFiles"/>
    </CreateItem>
    <Copy SourceFiles="%(SourceFiles.Identity)" DestinationFolder="Out\%(RecursiveDir)" SkipUnchangedFiles="true" />
    <!-- Only want to execute this if updated files were copied -->
    <Message Text="Running..." />
  </Target>
</Project>
Run Code Online (Sandbox Code Playgroud)

msbuild

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

从Windows批处理文件中的无效GOTO命令中恢复

在Windows批处理文件中,我使用一个可选参数,允许调用者跳转到批处理文件的中间并从那里继续.

例如:

if [%1] neq [] (
echo Starting from step %1
goto %1
if %errorlevel% neq 0 goto error
)

:step1

:step2

...

goto end
:error
echo Error handler
...

:end
Run Code Online (Sandbox Code Playgroud)

如果提供的参数不是有效标签,则批处理文件会立即退出,并显示错误.系统找不到指定的批处理标签.

有没有办法让我处理这个错误并执行我的错误处理程序块,或者继续执行整个批处理文件,就像没有提供参数一样?

batch-file

4
推荐指数
2
解决办法
3825
查看次数

.NET中的app.config文件有哪些可用的运行时设置?

在.NET应用程序的app.config文件中,有一个<runtime>元素允许您配置CLR的各种行为,通常用于向后兼容旧行为.

例如:

<configuration>
    <runtime>
        <legacyUnhandledExceptionPolicy enabled="true"/> <!-- .NET 2 -->
        <legacyCorruptedStateExceptionsPolicy enabled="true"/> <!-- .NET 4 -->
    </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我遇到了一些这些设置,并希望找到MSDN上所有可用设置的全面文档,以便我可以看到还有其他可用的设置.但是,我一直无法找到所有可用运行时配置设置的任何中央列表,app.config架构也没有任何帮助,因为该<runtime>元素被指定为"任何进展"(为了面向未来,我猜测).

有人可以指向一些中央文档的方向,最好是在MSDN上,列出app.config中运行时元素的所有可用设置,最好包括.NET 4.0吗?

.net app-config

4
推荐指数
1
解决办法
7187
查看次数

确保DateTime属性返回DateTimeKind.Utc

是否可以在Kind == DateTimeKind.Utc 使用.edmx文件或t4模板的实体对象中定义DateTime属性?

如果可能,使用t4,请描述如何更改属性.目前该属性生成为:

[EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
[DataMemberAttribute()]
public global::System.DateTime Created
{
    get
    {
        return _created;
    }
    internal set
    {
        OnCreatedChanging(value);
        ReportPropertyChanging("Created");
        _created = StructuralObject.SetValidValue(value);
        ReportPropertyChanged("Created");
        OnCreatedChanged();
    }
}
private global::System.DateTime _created;
partial void OnCreatedChanging(global::System.DateTime value);
partial void OnCreatedChanged();
Run Code Online (Sandbox Code Playgroud)

linq-to-entities entity-framework .net-4.0

4
推荐指数
2
解决办法
6947
查看次数

Win32 CRITICAL_SECTION包含什么?

Win32 CRITICAL_SECTION包含哪些数据,它有多大?

这是没有记录的,可能是具体的实现,但我很想知道

winapi synchronization

4
推荐指数
1
解决办法
8060
查看次数

无法通过PyXLL加载scipy - 是否有人通过PyXLL加载Scipy成功?

我使用的是Python 2.6,Excel 2007 Professional和最新版本的PyXLL.在PyXLL中加载模块时

import scipy
Run Code Online (Sandbox Code Playgroud)

抛出异常并且未加载模块.有没有人能够在PyXLL中加载Scipy?这可能是版本问题吗?抛出的异常是:

2010-12-21 17:21:30,915 - ERROR : Error importing 'options': DLL load failed: A dynamic link library (DLL) initialization routine failed.
2010-12-21 17:21:30,915 - ERROR : Traceback (most recent call last):
2010-12-21 17:21:30,915 - ERROR :   File "pyxll", line 402, in _open
2010-12-21 17:21:30,915 - ERROR :   File "C:\Dev\libs\pyxll\examples\options.py", line 15, in <module>
2010-12-21 17:21:30,915 - ERROR :     import scipy
2010-12-21 17:21:30,915 - ERROR :   File "C:\Python26\lib\site-packages\scipy\__init__.py", line 78, in <module>
2010-12-21 17:21:30,915 - ERROR …
Run Code Online (Sandbox Code Playgroud)

python excel scipy pyxll

4
推荐指数
1
解决办法
791
查看次数

在我的Python脚本中,在模块之间共享记录器实例的惯用方法是什么?

我创建了自己的简单记录器类,它使用COM interop重定向到公司标准记录器.我想在我的脚本开头附近创建logger实例,然后使用此记录器允许我的脚本中的所有模块集中记录.

是否有一种惯用的方法在所有模块之间共享此记录器实例,而无需将logger参数专门添加到需要记录的每个类的构造函数中?

我应该使用全局变量还是单例,还是有另一种推荐方法来模拟模块之间的记录器?

python singleton

4
推荐指数
1
解决办法
2174
查看次数

如果我更改Java Exception类扩展的基类,是否需要更新serialVersionUID值?

请考虑以下Java异常类:

public class BarException extends RuntimeException {
    // [...]
}

public class FooException extends BarException {
    private static final long serialVersionUID = -5322002268075295537L;

    // [...]
}
Run Code Online (Sandbox Code Playgroud)

如果我希望更新要删除的继承层次结构BarException,FooException直接从中派生RuntimeException,这是否需要更改serialVersionUID值?

// FooException with updated inheritance hierarchy
public class FooException extends RuntimeException {
    private static final long serialVersionUID = ???;

    // [...]
}
Run Code Online (Sandbox Code Playgroud)

java serialization exception serialversionuid

3
推荐指数
1
解决办法
1827
查看次数

使用LINQ to XML时避免暴露于NullReferenceException

我正在使用对该XElement.Element()方法的一系列调用来深入研究XML文档并提取属性的值:

XElement root = ...;
XNamespace ns = "...";
var firstName = 
  root
    .Element(ns + "Employee")
    .Element(ns + "Identity")
    .Element(ns + "Name")
    .Attribute(ns + "FirstName");
Run Code Online (Sandbox Code Playgroud)

但是,由于传入文档尚未经过模式验证,因此格式错误的文档可能会导致NullReferenceException任何预期的中间元素不存在.

有没有办法避免这种风险,同时保持代码简洁?

我可以将上面的代码包装在处理程序中NullReferenceException但是这感觉不对,并且也没有具体指出失败发生的位置.构建信息性错误消息将是手动,繁琐,容易出错和维护危险.

我应该使用XPath,这样我可以检查null返回,然后轻松构造一条错误消息,指示XPath表达式无法解析?

.net c# linq-to-xml

3
推荐指数
1
解决办法
1400
查看次数

是否可以在Python中转义保留字?

在保留字之后命名变量可能不是一个好主意,但我很好奇:

Python中是否有任何转义语法允许您使用保留字作为变量的名称?

例如,在C#中,这可以通过为保留字添加前缀来完成 @

python syntax

3
推荐指数
2
解决办法
8480
查看次数