小编Luk*_*ley的帖子

以编程方式创建代码首次迁移

我正处于一个项目中,我们在实体框架上使用Code First作为我们的数据库.

我们希望改变所有持续集成以消耗下游生成的MSI包,但使用EF会带来一些复杂性.

我已尝试过网络上的各种内容,但大多数似乎都需要AutomaticMigrations设置trueAutomaticMigrationDataLossAllowed(参见:http://romiller.com/2012/02/09/running-scripting-migrations-from-code/).

我试图Add-Migration通过查看.NET反射器来复制所做的事情,但我似乎无法找到一种调用System.Data.Entity.Migrations.AddMigrationCommand通过Powershell 调用的命令的方法.

任何人都有任何想法,我怎么能接近实现这一点,而不做一些非常混乱的事情?这是我认为很多人都想要做的事情......

提前谢谢了!

c# powershell entity-framework

14
推荐指数
1
解决办法
1945
查看次数

为什么使用泛型类型的基础Windows窗体类停止设计器加载?

我想尝试一个基本的Windows窗体表单,其中包含常见的功能和控件 - 但也包含对类需要一个类型的类的引用.每个表单都代表不同的类型,所以我认为我可以按照以下方式做一些事情:

public partial class Base<T> : Form where T : BaseClass
{
    private GenericHandler handler = new GenericHandler();
}

public class BaseClass { }

public class GenericHandler
{
    public void DoSomethingWithInstance<T>(T instance) where T : BaseClass
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

我的设计师类声明也反映了我的表单.现在当我做第二个表示类型的表单时Foo,我无法访问设计器,因为我收到此错误:

无法为此文件显示设计器,因为其中的所有类都无法设计.设计者检查了文件中的以下类:Foo ---无法加载基类"WindowsFormsApplication1.Base".确保已引用程序集并且已构建所有项目.

FooClass ---无法设计基类'WindowsFormsApplication1.BaseClass'.

public partial class Foo : Base<FooClass>
{
    public Foo()
    {
        InitializeComponent();
    }
}

public class FooClass : BaseClass { }
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况/我做错了什么或有其他方法可以做到这一点?

c# inheritance winforms

9
推荐指数
1
解决办法
5333
查看次数

JWT无法将标头解码为Base64Url编码的字符串

我有以下代码:

public async Task<LoginResult> GenerateJwtTokenAsync(string email, string password)
{
    LoginResult loginResult = await _membershipProvider.Login(email, password);
    if (loginResult.Succeeded)
    {
        var symmetricKey = Convert.FromBase64String(Secret);

        var tokenDescriptor = new SecurityTokenDescriptor
        {
            Subject = new ClaimsIdentity(loginResult.Claims),
            Expires = DateTime.UtcNow.AddDays(1),
            SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(symmetricKey), SecurityAlgorithms.HmacSha256Signature)
        };

        var stoken = _tokenHandler.CreateToken(tokenDescriptor);
        var token = _tokenHandler.WriteToken(stoken);

        // Check token here to see if it works
        var jwtToken = _tokenHandler.ReadToken(token) as JwtSecurityToken;
        loginResult.JwtToken = token;
    }
    return loginResult;
}

public ClaimsPrincipal ValidateJwtToken(string tokenString)
{

    ClaimsPrincipal principal;

    try …
Run Code Online (Sandbox Code Playgroud)

c# jwt asp.net-web-api

8
推荐指数
2
解决办法
5022
查看次数

在字符串列表中查找公共字符串

我非常接近这一点.如果我能看一下,我昨天有一个问题向我提出了一个问题.

我觉得很亲密,但我觉得这里的一些人也很欣赏这个挑战,我迷失了.

如果我有一个List<string>有以下成员:

今天

星期一

星期二

星期三

我希望得到一个返回的字符串day,因为这是最大的常见字符串List<string>.无论位置和字符串长度如何,都应该这样做,只想在一大串字符串中找到最大长度的公共字符串.

我的尝试失败了一点,我选择了:

星期一星期二

周一至周三

然后Intersect在每个之间做了一个.显然,这将返回多个字符串,但对于Monday - Wednesdaynday,因为那是什么字母它具有普遍的.

这是我的代码:

  List<string> strs = new List<string>();
  strs.Add("Monday");
  strs.Add("Tuesday");
  strs.Add("Wednesday");

  var v = strs.SelectMany((day, i) => strs.Select((day2, j) => new
  {
    iDay = i,
    Day = day,
    iDay2 = j,
    Day2 = day2
  })).Where(x => x.iDay != x.iDay2).Select(x => new string(x.Day.Intersect(x.Day2).ToArray()));
Run Code Online (Sandbox Code Playgroud)

有人有一个漂亮而整洁的解决方案吗?

注意

它不一定是LINQ

如果没有常用字符串,则返回null或清空字符串.

c# linq string-comparison

7
推荐指数
1
解决办法
4358
查看次数

使用HTML5 JS和Twitter Bootstrap格式托管ASP.Net的格式不同

在我的开发环境中,一切都显得非常好,我有一个使用画布和动画的饼图,这在通过浏览器托管时显得很好.

我也在使用Twitter Bootstrap并在页面顶部有一个导航栏,它有两个项目.

这里有些例子:

在开发环境中

http://i.stack.imgur.com/TtC5J.png

在IIS中托管

http://i.stack.imgur.com/DNLkg.png

在解除IIS版本后,错误保持不变,您也可以注意到按钮的四舍五入并不完全相同.

我们在IIS6上使用默认设置进行托管,因此想知道是否必须在网站上进行任何操作才能正确地进行此操作?我没有在任何我认为不可能的地方注册.LESS.不确定是否可能导致这种情况.

提前致谢.

javascript asp.net iis html5 twitter-bootstrap

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

XSD:Pattern和C#Regex之间有区别吗?

出于一些限制原因,我无法深入研究我的项目.

本质上,我试图在序列化之前预先验证对象,然后根据模式验证它.模式验证了一个名称,我知道这个名称并不理想,最好不要验证名称 - 但我似乎无法复制一个有效的正则表达式来解决模式试图做的事情.

<xsd:simpleType name="CharsetD">
  <xsd:restriction base="xsd:string">
    <xsd:pattern value="[A-Za-z \-&apos;]*"/>
  </xsd:restriction>
</xsd:simpleType>

<xsd:element minOccurs="0" maxOccurs="2" name="Fore">
  <xsd:simpleType>
    <xsd:restriction base="CharsetD">
      <xsd:minLength value="1"/>
      <xsd:maxLength value="35"/>
      <xsd:pattern value="[A-Za-z].*"/>
    </xsd:restriction>
  <xsd:simpleType>
</xsd:element>
Run Code Online (Sandbox Code Playgroud)

我只是想在上面的例子中我可以尝试并只使用xsd:patterncharset.

我试图使用[A-Za-z \-&apos;]*哪个返回一个名称,Luke2如有效,但架构验证说它不是因为它包含一个数字.

我的问题是,如何在一个c#正则表达式中复制上述内容?此外,架构模式的运行方式与我使用它的方式之间是否有任何差异.NET

c# regex xsd

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

在visual studio中使用正则表达式查找和替换程序集

我们有一个超过25个项目的解决方案,每个项目都有它自己AssemblyInfo我试图增加所有的程序集编号,以增加我们下一个版本的一个主要版本.

我的正则表达式技能很小,但基本上我想找到:

<Assembly: AssemblyVersion("x.x.x.x")>
Run Code Online (Sandbox Code Playgroud)

x在正则表达式而言将是\d/一个数字.看这里我以为我可以使用:

{AssemblyVersion("[\d].[\d].[\d].[\d]")}
Run Code Online (Sandbox Code Playgroud)

哪个没用,它不喜欢开括号.我的问题基本上分为两个阶段:

  1. 我将使用什么正则表达式字符串来查找示例?
  2. 是否可以使用正则表达式用数字+ 1替换第一个数字?(我怀疑我有点乐观)如果是这样,那么正则表达式字符串在这种情况下是什么?

这是源代码控制,所以我不想直接修改文件.

提前致谢.

c# regex visual-studio-2010

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

TextBox中的永久前缀

我想在文本框中输入一个永久前缀.在我的情况下,我想要以下前缀:

DOMAIN\

这样用户只需在域前缀后输入用户名即可.这不是我必须做的事情,也不是追求,但我的问题更多是出于好奇.

我试图想出一些逻辑来做到这一点TextChangedEvent,但这意味着我需要知道哪些字符已被删除,然后预先附加DOMAIN\到他们的输入 - 我无法解决这个问题所以我无法发布我所尝试的内容.

public void TextBox1_TextChanged(object sender, EventArgs e)
{
  if(!TextBox1.Text.Contains(@"DOMAIN\")
  {
    //Handle putting Domain in here along with the text that would be determined as the username
  }
}
Run Code Online (Sandbox Code Playgroud)

我在互联网上看了一下,找不到任何东西,如何在winforms文本框中添加带有不可变文本的文本?我试图做类似的事情,但答案并没有真正帮助.

我如何能保持前缀任何想法DOMAIN\TextBox

c# winforms

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

我可以使用DataTable.Select()方法进行简单的分页吗?

使用datacolumn.expression快速查看这篇MSDN文章,但没有找到任何内容.看起来'select expression'语法不支持分页...

c# datatable paging performance select

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

如何在Windows 7上启用OWIN日志记录

我正在尝试实现登录到我的OWIN自托管解决方案.

我的MiddleWare班级如下:

public class HostingMiddleware : OwinMiddleware
{
    private readonly ILogger _logger;

    public HostingMiddleware(OwinMiddleware next, IAppBuilder builder)
        : base(next)
    {
        _logger = builder.CreateLogger<HostingMiddleware>();
    }

    public override Task Invoke(IOwinContext context)
    {
        _logger.WriteVerbose(string.Format("{0} {1}: {2}"));
        context.Response.Headers.Add("Content-Type", new[] 
                                                     { 
                                                        "text/plain"
                                                     });
        return Invoke(context);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在Startup课堂上使用它.

public class Startup
{
   public void Configuration(IAppBuilder builder)
   {
      // Initialize the configuration for Web API self-host.
      HttpConfiguration config = new HttpConfiguration();

      // Map the default Web API HTTP Route
      config.Routes.MapHttpRoute(
          name: "DefaultApi", …
Run Code Online (Sandbox Code Playgroud)

c# self-hosting owin katana

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

通过MSBuild执行Powershell脚本时找不到"Microsoft.SqlServer.BatchParser.dll"

我们有一个MSBuild进程,当前执行一组脚本,其中一个是Powershell脚本,它使用了PowerShell中的一些SMO工具.如果我将MSBuild打印的行复制并粘贴到命令提示符中,它可以正常工作,但无论何时MSBuild运行它都无法找到程序集.

我有打印环境变量,它们是相同的,所以我假设它是一个属性,.targets但在我的生活中,我找不到一种方法来打印它扫描的变量或知道它将在哪里.

Could not load file or assembly 'Microsoft.SqlServer.BatchParser, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.]
Run Code Online (Sandbox Code Playgroud)

有任何想法或解决方案可以提供帮助,我很难过吗?

c# sql-server msbuild powershell

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