所以我在我的代码中使用XML注释来帮助解释公共方法和公共成员,另一位开发人员提到我并不是所有的方法都有XML注释.我使用规则,如果是公共的或受保护的,添加XML注释,如果是私有的,则不要.
这听起来合乎逻辑,还是有理由将XML注释为私有方法?
我在本地设置了TFS 2015,我在上一个构建步骤Publish Build Artifacts上遇到了问题.出于某种原因,构建代理似乎正在存档旧的二进制文件,我留下了一个巨大的文件路径:
E:\TFSBuildAgent\_work\1a4e9e55\workspace\application\Development\project\WCF\WCF\obj\Debug\Package\Archive\Content\E_C\TFSBuildAgent\_work\1a4e9e55\workspace\application\Development\project\WCF\WCF\obj\Debug\Package\PackageTmp\bin
Run Code Online (Sandbox Code Playgroud)
我正在使用示例minimatch模式复制文件以开始:
**\bin
Run Code Online (Sandbox Code Playgroud)
我现在只是测试,所以这不是一个永久的解决方案,但我如何复制bin文件夹中的所有二进制文件,而不是obj的后代?
从研究我认为这应该工作,但它没有(它不匹配任何东西):
**!(obj)**\bin
Run Code Online (Sandbox Code Playgroud)
我正在使用www.globtester.com进行测试.有什么建议?
另外,我将在稍后讨论归档问题,但如果有人对此有任何指示,请随时发表评论.谢谢
我想通过我在我的Razor视图模型中的每个项循环,但我希望将所有物品放在一起.然后我想循环遍历每个组.想象一下,我有一张桌子:
ID GroupNo GroupName
1 1 Group1
2 1 Group2
3 1 Group3
4 2 Group1
5 2 Group2
6 3 Group56
Run Code Online (Sandbox Code Playgroud)
我想做的事情如下:
@foreach (var group in Model.GroupNo) {
<section>
<header>Group No is @group.GroupNo</header>
@foreach (var item in group) {
<p>GroupName: @item.GroupName</p>
}
</section>
}
Run Code Online (Sandbox Code Playgroud)
所以我的输出是:
Group No is 1
GroupName: Group1
GroupName: Group2
GroupName: Group3
Group No is 2
GroupName: Group1
GroupName: Group2
Group No is 3
GroupName: Group56
Run Code Online (Sandbox Code Playgroud)
这可能吗?
谢谢
我注意到一些我无法理解的奇怪的精确行为,我有一些XML:
<CLD>
<UCRV>
<UCR1>.07</UCR1>
</UCRV>
</CLD>
Run Code Online (Sandbox Code Playgroud)
在一个XSLT文件中,我选择的值为便士(或似乎100便士,我不知道为什么,但它是客户想要的!)如下:
<xsl:value-of select="./s0:CLD/s0:UCRV/s0:UCR1/text() * 100 * 100"/>
Run Code Online (Sandbox Code Playgroud)
但输出为700.00000000000011数据类型为xsd:Decimal.这里有一些默认的精确度吗?我可以简单地对数字进行舍入,但我只想更好地理解它.
谢谢
突然间,我无法将构建从XCode发布到App Store.我上次成功提交的是两周前,我无法想到的任何内容都发生了变化.当我验证发布时,我收到错误:
缺少<%name%>的iOS分发签名身份
我查看XCode/Preferences/Select profile/View Details,我的所有签名身份都被撤销.
我已经从开发人员门户以及我的密钥链中删除了我的证书,并在开发人员门户中重新创建并按照此处的说明下载到密钥更改:https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/ AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
我也已经删除了,让XCode自动创建我的证书.它会自动再次被撤销.
我的会员资格是最新的,据我所知,我已遵守规则!(Apple当然告诉我了).我从来没有拒绝过应用程序.
有任何想法吗?我正在使用XCode 6.4运行OSX 10.10.2.字面上2个星期前,我没有问题.
谢谢
我们经常发生大量的构建,并且需要大量的资源.因此,我们希望在每次构建后清除构建源和暂存目录.我在本地TFS 2015 Update 1中使用vNext版本.我创建了一个PowerShell脚本作为执行删除的最终任务:
[CmdletBinding()]
param()
begin {
function Delete-Directory {
param([string]$directory)
Write-Output "Attempting to delete '$($directory)'"
if (Test-Path $directory -pathType container) {
Get-ChildItem -Path $directory -Force -Recurse | Remove-Item -Recurse -Force
Write-Output "Successfully deleted the directory: '$($directory)'"
} else {
Write-Output "Failed to delete '$($directory)' as it does not exist"
}
}
}
process {
Delete-Directory $env:BUILD_SOURCESDIRECTORY
Delete-Directory $env:BUILD_STAGINGDIRECTORY
}
end{}
Run Code Online (Sandbox Code Playgroud)
最初,Get-ChildItem .... | Remove-Item
我没有使用,而是使用,Remove-Item *path* -Recurse -Force
但显然删除项的recurse参数存在问题.最初它有时是有效的.现在它永远不会起作用.
我尝试了很多不同的变体,这里有一些结果:
随着-Recurse …
我试图从bash中发现我git push
是否成功.我正在检查以前在我的脚本中的本地更改,如下所示:
if [ -z "$(git status --porcelain)" ]; then
Run Code Online (Sandbox Code Playgroud)
这很好.这是我试过的表达,但是这个表达不起作用,实际上是错误:
if [ "$(git push --porcelain)" -eq "Done" ]; then
Run Code Online (Sandbox Code Playgroud)
收益率:
Done: integer expression expected
Run Code Online (Sandbox Code Playgroud)
当我从命令行运行时git push --porcelain
,输出是Done
.这是否意味着我应该在我的条件下检查该文本?
如果我进行上一次比较,那也不起作用,我得到同样的错误:
1 file changed, 309 insertions(+)
Current branch master is up to date.
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 3.59 KiB | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta …
Run Code Online (Sandbox Code Playgroud) 我已经使用基本设置安装了SonarQube并启用了C#插件(目前版本为5.5.0.479)中的所有规则,并且这样做,我的分析中断了一些项目(一些运行正常).我找不到一种方法来找出哪些规则正在破坏,所以我非常费力地通过,以二进制印章样式启用规则以便找到违规规则.我发现2:
和:
当我启用这些规则之一并运行分析时,我收到错误:
14:38:58.008 ERROR: Error during SonarQube Scanner execution
14:38:58.008 java.lang.IllegalArgumentException: Start pointer [line=65, lineOffset=0] should be before end pointer [line=65, lineOffset=0]
14:38:58.008 at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:145)
14:38:58.008 at org.sonar.api.batch.fs.internal.DefaultInputFile.newRangeValidPointers(DefaultInputFile.java:254)
14:38:58.008 at org.sonar.api.batch.fs.internal.DefaultInputFile.newRange(DefaultInputFile.java:238)
14:38:58.008 at org.sonarsource.dotnet.shared.plugins.SensorContextUtils.toTextRange(SensorContextUtils.java:41)
14:38:58.008 at org.sonarsource.dotnet.shared.plugins.protobuf.IssuesImporter.importMessage(IssuesImporter.java:54)
14:38:58.008 at org.sonarsource.dotnet.shared.plugins.protobuf.IssuesImporter.importMessage(IssuesImporter.java:31)
14:38:58.008 at org.sonarsource.dotnet.shared.plugins.protobuf.AbstractProtobufImporter.accept(AbstractProtobufImporter.java:49)
14:38:58.008 at org.sonarsource.dotnet.shared.plugins.AbstractSensor.parseProtobuf(AbstractSensor.java:80)
14:38:58.009 at org.sonarsource.dotnet.shared.plugins.AbstractSensor.importResults(AbstractSensor.java:70)
14:38:58.009 at org.sonar.plugins.csharp.CSharpSensor.executeInternal(CSharpSensor.java:114)
14:38:58.009 at org.sonar.plugins.csharp.CSharpSensor.execute(CSharpSensor.java:85)
14:38:58.009 at org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.java:53)
14:38:58.009 at org.sonar.scanner.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:57)
14:38:58.009 at org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.java:49)
14:38:58.009 at org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78)
14:38:58.009 at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:182)
14:38:58.009 at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
14:38:58.009 at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
14:38:58.009 …
Run Code Online (Sandbox Code Playgroud) 我很好奇是否有一个解决我问题的首选方法.基本上,我有一些数据(它是xml),我需要修改数据,添加一些属性,让我们说.为此,我写了一个方法来为我做.然后我需要稍后使用修改后的数据.该方法应该返回void还是所需的数据类型?
选项1:
var someData = GetTheData();
someData = ModifyTheData(someData);
Run Code Online (Sandbox Code Playgroud)
选项2:
var someData = GetTheData();
ModifyTheData(someData, out someData);
Run Code Online (Sandbox Code Playgroud)
使用这两个版本有什么区别吗?我是否正确认为选项1将在内存中创建2个实例(1表示someData变量,1表示方法的返回值)但是选项2只有1个实例?
有首选方法吗?没关系太多,我只是好奇
非常感谢