小编Fab*_*ers的帖子

Visual Studio模板和目录创建的问题

我正在尝试制作一个Visual Studio(2010)模板(多项目).一切似乎都很好,除了项目是在解决方案的子目录中创建的.这不是我正在寻找的行为.

该zip文件包含:

Folder1
+-- Project1
    +-- Project1.vstemplate
+-- Project2
    +-- Project2.vstemplate
myapplication.vstemplate
Run Code Online (Sandbox Code Playgroud)

这是我的根模板:

<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
    <TemplateData>
        <Name>My application</Name>
        <Description></Description>
        <Icon>Icon.ico</Icon>
        <ProjectType>CSharp</ProjectType>
  <RequiredFrameworkVersion>4.0</RequiredFrameworkVersion>
  <DefaultName>MyApplication</DefaultName>
  <CreateNewFolder>false</CreateNewFolder>
    </TemplateData>
    <TemplateContent>
        <ProjectCollection>
   <SolutionFolder Name="Folder1">
    <ProjectTemplateLink ProjectName="$safeprojectname$.Project1">Folder1\Project1\Project1.vstemplate</ProjectTemplateLink>
    <ProjectTemplateLink ProjectName="$safeprojectname$.Project2">Folder2\Project2\Project2.vstemplate</ProjectTemplateLink>
   </SolutionFolder>
        </ProjectCollection>
    </TemplateContent>
</VSTemplate>
Run Code Online (Sandbox Code Playgroud)

而且,在使用此模板创建解决方案时,我最终会得到如下目录:

Projects
+-- MyApplication1
    +-- MyApplication1 // I'd like to have NOT this directory
        +-- Folder1
            +-- Project1
            +-- Project2
    solution file
Run Code Online (Sandbox Code Playgroud)

有帮助吗?

编辑:

似乎<CreateNewFolder>false</CreateNewFolder>无论是真还是假,修改都不会改变任何东西.

templates project visual-studio

26
推荐指数
3
解决办法
9912
查看次数

ASP.NET MVC正则表达式路由约束

我正在尝试在路线上设置特定约束时遇到问题.我的URL必须如下所示:http:// hostname/id-my-title-can-be-that-long其中id仅由数字组成,标题为带有破折号分隔符的小写字符.id和标题也用短划线分隔.例如:http:// hostname/123-my-title.

这是我的路线定义:

routes.MapRoute(
    "Test",
    "{id}-{title}",
    new { controller = "Article", action = "Index" },
    new { id = @"(\d)+", title = @"([a-z]+-?)+" }
);
Run Code Online (Sandbox Code Playgroud)

使用html帮助程序正确生成URL:

<%: Html.ActionLink("My link", "Index", "Article", new { id = Model.IdArticle, title = Model.UrlTitle }, null) %>
Run Code Online (Sandbox Code Playgroud)

当然,Model.IdArticle是一个Int32,而Model.UrlTitle是我的标题的预先形成的字符串,符合我的要求(仅小写,空格由短划线代替).

问题是,当我按照链接时,没有调用正确的控制器和方法,它会落到下一个错误的路径.

对于记录,我在ASP.NET MVC 2上.

有人有想法吗?

在此先感谢Fabian

regex routes constraints asp.net-mvc-2

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

Javascript密钥代码=/= char代码

我使用jQuery绑定keydown事件以允许文本框中的某些特定字符.我正在尝试使我的代码跨浏览器和平台兼容.我的主要问题是我找不到将接收到的密钥代码映射到有效字符代码的方法,特别是对于来自数字键盘的密钥代码(小数分隔符,是昏迷还是句点等).

感谢Fabian先生的帮助

jquery cross-platform cross-browser jquery-events

6
推荐指数
2
解决办法
3076
查看次数

如何(de)使用Newtonsoft JSON序列化XmlException?

此示例代码:

var json = JsonConvert.SerializeObject(new XmlException("bla"));
var exception = JsonConvert.DeserializeObject<XmlException>(json);
Run Code Online (Sandbox Code Playgroud)

在Newtonsoft.Json.dll中抛出InvalidCastException:无法将类型为"Newtonsoft.Json.Linq.JValue"的对象强制转换为使用以下堆栈跟踪键入"System.String":

at System.Xml.XmlException..ctor(SerializationInfo info, StreamingContext context)
at Void .ctor(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)(Object[] )
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateISerializable(JsonReader reader, JsonISerializableContract contract, JsonProperty member, String id)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
at …
Run Code Online (Sandbox Code Playgroud)

c# json json.net

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

更漂亮的格式化配置

我正在努力为 Angular HTML 组件配置 Prettier 格式。我尝试了不同的配置覆盖,但我无法得到我想要的。

默认情况下,在 VS Code + Prettier 上,以下标记:

<ng-container *ngIf="emailRef.hasError('email')">A valid email address must be used</ng-container>
Run Code Online (Sandbox Code Playgroud)

被格式化为(因为行长):

<ng-container *ngIf="emailRef.hasError('email')"
  >A valid email address must be used</ng-container
>
Run Code Online (Sandbox Code Playgroud)

我一点都不喜欢。我不希望 Prettier 像那样拆分标签。我宁愿:

<ng-container *ngIf="emailRef.hasError('email')">
  A valid email address must be used
</ng-container>
Run Code Online (Sandbox Code Playgroud)

有谁知道如何覆盖其默认行为?当使用多个属性时,我可以使用默认格式,例如:

<input
  id="email"
  name="email"
  type="email"
  email
  required
  [(ngModel)]="email"
  #emailRef="ngModel"
/>
Run Code Online (Sandbox Code Playgroud)

html visual-studio-code angular prettier

6
推荐指数
2
解决办法
2385
查看次数

Visual Studio在哪里存储要在调试中使用的默认浏览器?

我使用Firefox作为我的默认浏览器,但在Visual Studio中工作时,我想在调试时启动IE.

我们都知道在MVC应用程序中,除非您添加Web表单文件,右键单击它,选择浏览,然后强制浏览器成为默认浏览器,否则无法选择默认浏览器.大.

我的简单问题是:VS存储浏览器我在哪里告诉他使用(注册表?项目文件?一些xml配置文件?)我问,因为VS一个月放松了几次这个偏好.我厌倦了一次又一次地制作引人注目的技巧.

在此先感谢Fabian

visual-studio

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