小编RHA*_*HAD的帖子

Typelite:如何使用T4转换将可空C#类型设置为可空的Typescript类型?

我正在使用Typelite 9.5.0将我的C#类转换为Typescript接口.我想要一个可以为空的类型(例如Guid?)在Typescript中转换为可空类型.

目前我有这个C#类:

public class PersistentClassesReferences
{
public Guid? EmailMessageId { get; set; }
public Guid? FileMetaDataId { get; set; }
public Guid? IssueId { get; set; }
public Guid? ProjectId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是使用Typelite将其转换为此Typescript接口:

interface IPersistentClassesReferences {
    EmailMessageId : System.IGuid;
    FileMetaDataId : System.IGuid;
    IssueId : System.IGuid;
    ProjectId : System.IGuid;
}
Run Code Online (Sandbox Code Playgroud)

但是当我想从这个接口创建一个新的typescript变量时,编译器会在我没有设置所有属性时抱怨(某些值为null).

因此,我有一个模板,可以测试可空类型,如果有的话,添加一个?

var isNullabe = Nullable.GetUnderlyingType(tsprop.ClrProperty.PropertyType) != null;
if (isNullabe)
{
    return identifier.Name + "? ";
}
Run Code Online (Sandbox Code Playgroud)

这确实有效,但现在不行了(我想在升级到Typelite 9.5.0或其他一些nugetpackage更新之后).

我收到错误消息:

 Compiling transformation: 'System.Reflection.MemberInfo' does not contain a …
Run Code Online (Sandbox Code Playgroud)

reflection t4 system.reflection typescript typelite

5
推荐指数
2
解决办法
2028
查看次数

无法连接到名为 xx 的 Microsoft Visual Studio 远程调试器。与远程端点的连接已终止

我尝试远程调试 Azure 应用程序,但是在尝试连接调试器(手动或使用云资源管理器自动)时,我收到错误消息:

无法连接到名为 xx 的 Microsoft Visual Studio 远程调试器。与远程端点的连接已终止。

在应用程序服务器的事件查看器中,我收到了事件:

Msvsmon 无法启动名为“127.0.0.1:50119”的服务器。发生以下错误:远程调试器的一个实例已经在这台计算机上运行,​​或者另一个进程已经绑定到指定的 TCP/IP 端口。查看 Msvsmon 的帮助以获取更多信息。08005E80

我已经做了什么:

  • 删除 Web 应用程序并再次发布(调试模式)
  • 关闭了我的开发机器上的防火墙
  • 检查 azure 应用程序上的远程调试是否在门户中设置为 ON 并且具有正确的远程 Visual Studio 版本(在我的情况下为 2015 更新 2)
  • 我可以在局域网的另一台机器上远程调试 UWP 应用程序

那么我该如何调试我的 webapp 呢?

remote-debugging azure visual-studio-2015 azure-web-app-service

5
推荐指数
0
解决办法
2245
查看次数

运行构建步骤 Azure 资源组部署时 StorageAccountAlreadyExists

我正在尝试让我的构建定义\xc2\xa0将\xc2\xa0所有必要的资源(SQL Server、数据库、Web应用程序和存储帐户)部署到azure,并在重新部署时进行更新。我使用 Visual Studio Team Services VSTS / TFS。构建步骤“Azure 资源组部署”失败\xc2\xa0,并出现错误:

\n\n
\n
"code": "StorageAccountAlreadyExists",\n"message": "The storage account named mystorageaccountname already exists under the subscription."\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

嗯,\xc2\xa0storage 帐户 mystorageaccountname 确实已经存在,但这是\xc2\xa0 尝试实现持续交付和重新部署时通常的情况。我想重用现有帐户。

\n\n

对于其他资源,例如 SQL 服务器和 SQL 数据库,资源的预先存在不是问题。

\n\n

如何进行可反复使用\xc2\xa0 的 Azure 资源组部署?

\n

continuous-integration continuous-deployment azure-resource-manager azure-resource-group

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

在MVC 4应用程序中使用Unity with Entity Framework的最佳实践是什么

我正在努力使用MVC 4应用程序中的Entityframework,利用Unity for Dependency注入和Automapper将对象自动化到DTO.我从一个问题跑到另一个问题,EF有时会返回旧数据,所以我认为我的设计不够好.

我有什么:

要在我的Application_Start中配置Unity:

var UnityContainer = UnityConfig.GetConfiguredContainer();
Mapper.Initialize(cfg => cfg.ConstructServicesUsing(type => UnityContainer.Resolve(type)));
UnityContainer.Resolve<AutoMapperConfig>().MapAutoMapper();
...
Run Code Online (Sandbox Code Playgroud)

在UnityConfig.RegisterTypes中:

container.RegisterType<IMyContext, MyContext>(new ContainerControlledLifetimeManager())
...
Run Code Online (Sandbox Code Playgroud)

我的存储库使用构造函数依赖注入:

public class MSSQLTenantRepository : IDalTenantRepository
{
   private readonly IMyContext _Db;
   public MSSQLTenantRepository(IMyContext db)
   {
      Db = db;
   }
...
Run Code Online (Sandbox Code Playgroud)

我的控制器也使用构造函数依赖注入:

public class TenantController : Controller
{
   private readonly ITenantRepository _TenantRepository;
   public TenantController(ITenantRepository tenantRepository,
   {
      _TenantRepository = tenantRepository;
   }
...
Run Code Online (Sandbox Code Playgroud)

自动配置配置:

public class AutoMapperConfig
{
    private readonly ITenantRepository _TenantRepository;
    public AutoMapperConfig(ITenantRepository tenantRepository)
    {
        _TenantRepository = tenantRepository;
    }
... …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework dependency-injection unity-container asp.net-mvc-4

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

WinRm-由于不正确的SSL证书,无法在HTTPS上创建WinRM侦听器

我想将WinRM与https传输一起使用。我已经购买了Comodo证书(错误状态,我无法使用自签名证书),并且主题与我的Windows 10计算机(未加入域)的FQDN(系统中的完整计算机名)相匹配:

CN = my.domain.net 
OU = PositiveSSL 
OU = Domain Control Validated
Run Code Online (Sandbox Code Playgroud)

尝试使用以下命令创建https侦听器时:

WintRm quickconfig -transport:https

我收到错误消息:

错误号:-2144108267 0x80338115无法在HTTPS上创建WinRM侦听器,因为该计算机没有适当的证书。要用于SSL,证书必须具有与主机名匹配的CN,适用于服务器身份验证,并且不能过期,吊销或自签名。

我已经在多个商店(本地计算机/个人和受信任的根证书颁发机构)中安装(双击* .crt文件)证书,但是WinRM无法创建https侦听器。http侦听器运行正常。

一些额外的信息:使用certreq尝试安装*.cer证书时,出现错误消息:

找不到元素。0x80070490(WIN32:1168 ERROR_NOT_FOUND)

如何使WinRM与https一起使用?

ssl https ssl-certificate winrm certreq

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

如何执行路径名中带有 ( 圆括号的 CMD /C 命令

我正在尝试执行这样的命令:

CMD /C "C:\Users\Richard(R)D\abc.bat"
Run Code Online (Sandbox Code Playgroud)

我收到错误消息:

'C:\Users\Richard' is not recognized as an internal or external command
Run Code Online (Sandbox Code Playgroud)

如何执行驻留在使用圆括号的文件夹中的命令?

cmd

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