我为我的测试方法使用下划线以获得更好的可读性,并且我希望抑制整个测试命名空间的FxCop错误/警告.
我怎样才能做到这一点?我玩过GlobalSuppressions.cs但没有任何效果:
[module: System.Diagnostics.CodeAnalysis.SuppressMessage(
"Microsoft.Naming", "CA1707:IdentifiersShouldNotContainUnderscores",
Scope = "namespace", Target = "Company.Product.Tests")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage(
"Microsoft.Naming", "CA1707:IdentifiersShouldNotContainUnderscores",
Scope = "namespace", Target = "Company.Product.Tests")]
Run Code Online (Sandbox Code Playgroud) 我想创建一个全局样式,为a 内部或内部的所有控件设置VerticalAlignmentto .CenterTextBlockDataGridDataGridTextColumn
我不想将以下内容复制到每个中,DataGridTextColumn因为它感觉重复.
<DataGridTextColumn Header="Some Property" Binding="{Binding SomeProperty}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"></Setter>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
Run Code Online (Sandbox Code Playgroud)
我试过类似下面的东西,但它不起作用,因为DataGridTextColumn不继承FrameworkElement或FrameworkContentElement.DataGrid本身但我尝试进一步包装会导致错误:
<Style TargetType="DataGridTextColumn">
<Setter Property="ElementStyle">
<Setter.Value>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud) 以下配置没有任何反应.
App.config中
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<log4net>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
</log4net>
</configuration>
Run Code Online (Sandbox Code Playgroud)
Form1.cs(示例)
public partial class Form1 : Form
{
private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public Form1()
{
InitializeComponent();
log.Fatal("Test!");
}
}
Run Code Online (Sandbox Code Playgroud) 我还没有与Entity Framework有太多联系,因此我想听听一些有经验的人.
我有一个MVC项目,我的DataAccess位于一个不同的项目中,我想放置我的EDMX文件.
那我该怎么命名这个文件呢?默认情况下它是"Model1.edmx",但在MVC的上下文中,我对这个名称感到不舒服.它真的是一个模特吗?我倾向于将其称为"DbModel"或其他东西,以表明它是与数据库相关的东西.
你们怎么称实体班?我想我喜欢EF的典型名称"DbContext".
所以在我的控制器中我会有类似的东西
public class WorldController : Controller
{
DbContext db = new DbContext();
public ActionResult Own()
{
var allContinents = db.Continents;
[...]
}
}
Run Code Online (Sandbox Code Playgroud)
对不起挑剔,但我真的很在乎命名.
我知道摘要和说明.
但是如果ARGUMENT处于无效状态怎么办?
我认为ArgumentException更合适,因为InvalidOperationException文档说该方法被调用的对象必须处于无效状态.这有意义吗?
可能重复:
扩展方法性能
当我以任何方式使用扩展方法时,我会遇到性能问题吗?
举个例子:
假设我在类型字符串上有100个扩展方法,并且有一个具有50个字符串属性的业务对象.现在我创建了这个业务对象的集合,可能有500个项目?
字符串上的这些扩展方法对RAM,CPU,......有什么影响!
我真的很喜欢扩展方法,但我想知道它的用法是否存在限制.
这一切都始于TC中的VS2017转轮类型.它没有任何错误或提示失败(除了(default targets) -- FAILED.解决方案级别的消息).我把它缩小到了.sqlproj'ects.这些不是通过MSBuild构建的,它们在构建代理上的VS2017中完全编译.我正在责备SSDT ......但我猜我检查了一切.这是在TC构建中达到解决方案级别的问题:
我注意到对于VS2017,SSDT附带了VS设置.安装了"工作负载""数据存储和处理","单个组件"下的"SQL Server数据工具"也是如此.我注意到https://docs.microsoft.com/EN-US/sql/ssdt/download-sql-server-data-tools-ssdt句子"如果你在Visual Studio 2017中使用SSDT,请安装AS和RS组件".做到了.没有改变.SSDT也为以前的版本单独安装.
这个堆栈是相关的,但它没有帮助我.
还有其他想法吗?
我走得更远了.除了VS生成工具安装以及在构建剂和TeamCity的亚军为VS2017显然使用的MSBuild从Build工具.正如您在上面所看到的,我也在使用Build Tools中的MSBuild重现了这个问题.如果我选择VS2017的MSBuild"版本",它就像一个魅力(就像在VS中一样).简而言之:
什么都不行
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
作品
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin
msbuild teamcity database-project sql-server-data-tools visual-studio-2017
我有通过knockout呈现的以下表格模板:
<table class="gv" data-bind="visible: products().length > 0">
<thead>
<th>Type</th>
<th>Name</th>
</thead>
<tbody data-bind="foreach: products">
<tr data-bind="click: $root.selectProduct">
<td data-bind="text: type"></td>
<td data-bind="text: name"></td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
现在我想使行可单击,并且如果选择了行,则想要分配一个css类.一次只能选择1(!)行,因此必须取消选中其他行.
最简单的方法是使用选定的属性扩展我的模型(产品类),但这会破坏我与服务器端的1:1映射.
我该如何解决这个问题?你会怎么处理这个?
我已经尝试了新的团队项目模板,并且可以使用代码审查工作项类型,但该功能未显示在团队资源管理器中.
我错过了什么?
我已经查阅过配置文档,但找不到任何内容.
我想禁用以下两个规则:
SA1633: The file header is missing or not located at the top of the file.
SA1652: Enable XML documentation output.
Run Code Online (Sandbox Code Playgroud)
我stylecop.json看起来像这样:
{
"$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
"settings": {
"orderingRules": {
"usingDirectivesPlacement": "outsideNamespace"
}
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
c# ×3
.net ×2
asp.net-mvc ×1
datagrid ×1
edmx ×1
fxcop ×1
knockout.js ×1
log4net ×1
msbuild ×1
namespaces ×1
performance ×1
stylecop ×1
styles ×1
teamcity ×1
tfs2012 ×1
wpf ×1