问题标签 [sidewaffle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1095 浏览

templates - 将 Nuget 包添加到多项目 Sidewaffle 模板

根据此处的指南,我在 VS2013 中使用 Sidewaffle 创建了一个基本的多项目模板;

https://github.com/ligershark/side-waffle/wiki/How-to-create-a-multi-project-template

我正在努力寻找将所有 NuGet 依赖项添加到我的模板化子项目的准确步骤。以下说明似乎已过时,并参考以前的 VSIX 格式(VS 2013 使用 v2.0);

http://docs.nuget.org/create/packages-in-visual-studio-templates

我猜我的子模板应该在将它们变成模板之前删除所有的 nuget 包和引用。然后我需要在模板化后对其进行修改,以确保在用户安装模板时向导将所需的 NuGet 包添加到解决方案中。这一步似乎没有在任何地方记录。

0 投票
2 回答
1203 浏览

angularjs - Typescript + Angular “控制器作为” Sidewaffle 模板不能开箱即用

请原谅我后面的代码墙,但每个块只有一个小的更改,并且每个更改都被注释了。

我正在尝试使用 Sidewaffle 模板包附带的 Angular+Typescript“控制器作为”模板。这就是模板开箱即用的样子。我在这里对模板所做的唯一修改是注释、空格和将“app1”重命名为“app”:

首先要注意的是,由于controllerId控制器类上的静态成员和接口controllerId所需的成员,它甚至不会编译。Icontroller由于接口的成员需要在类的类型的实例端实现,所以这是行不通的。

这很烦人,但很容易解决,尽管这样做会丢失一些类型检查:

现在可以编译了,但问题是如何将调用app.controller()转换为 javascript。不是直接将构造函数传递给app.controller(),而是封装在一个匿名函数中,我们最终得到的是构造函数中的构造函数:

现在,当我们尝试在视图中使用“controller as”语法时,Angular 找不到别名控制器——视图绑定到一个空对象。

我能说的最好的,Typescript 模板应该是这样的:

编译成这个javascript:

效果很好。所以我有两个主要问题:

  1. 为什么你会想要将控制器构造函数包装在 lambda 中以交给 Angular 的controller()方法,而不是直接交给构造函数?
  2. 为什么模板在一个类上会有一个静态成员,它试图用该类实现的接口上的一个成员来强制执行?

我唯一的猜测是,这两个问题在 Typescript 和 Angular 的早期版本组合中都不是问题,但我不知道,因为我对这两个版本都很陌生。我正在使用 Typescript v1.4 和 Angular v1.3.14

0 投票
0 回答
98 浏览

angularjs - 在 VS2013 中安装 SideWaffle 但在 NewProject 对话框中看不到模板?

我刚刚将 SideWaffle 和 WebEssentials 4 一起安装到了我的 Visual Studio 2013 安装中。当我检查工具 -> 扩展和更新时,我确实在已安装的扩展列表中看到了 SideWaffle 和 WebEssentials 4。但是,当我尝试新建项目或新建网站时,我看不到任何可供选择的 SideWaffle 模板。我还使用了关键字 SideWaffle 的搜索框,但仍然没有看到任何内容。安装 SideWaffle 后,我肯定重新启动了 VS2013。没运气。奇怪的是,我也没有看到任何与 AngularJS 相关的项目。

谁能告诉我出了什么问题以及如何解决?

0 投票
5 回答
4477 浏览

visual-studio - 找不到扩展程序。请确保已安装扩展程序

我一直在开发一个 VS 扩展,它使用 SideWaffle 创建了几个带有一些锅炉代码的文件,我遇到了一个问题,每当我添加一个新项目时,我的锅炉代码项目都会在“我的自定义模板”下。我在 template-builder.props 文件中找到了它并将其更新为“测试”,但是当我再次尝试时,我同时拥有“我的自定义模板”和“测试”,它们都包含相同的扩展名。

我想VS可能已经缓存了旧名称或其他东西,所以我从VS卸载了扩展并重新启动。现在该项目根本不会构建并给出错误:

我尝试使用 Debug 文件夹中的 .vsix 重新安装扩展并重新启动 VS,但我得到了同样的错误)。我在网上找不到任何关于此的内容,老实说,我对为什么需要安装该项目才能构建它感到困惑。

我该怎么做才能让这个项目再次建设?

0 投票
1 回答
162 浏览

visual-studio - 如何将 SideWaffle 安装到 VS2015 社区

我从这里下载了扩展,当我双击vsix包时没有发生任何事情。

我检查了extension.manifest包中的文件,这些是那里支持的版本:

当 VS Community 推出时,您必须这样做才能使 EF Power Tools 工作,但SideWaffle使用 2.0 清单版本,这不起作用。

我尝试添加Microsoft.VisualStudio.Community,但这也不起作用。关于如何使这项工作的任何想法?

0 投票
1 回答
1203 浏览

c# - VSIX 扩展安装但项目模板未显示在 Visual Studio 中

目前我正在学习 VSIX 项目模板并通过参考此链接制作简单的项目模板

https://blogs.endjin.com/2014/07/a-step-by-step-guide-to-developing-visual-studio-item-templates-using-sidewaffle/

这是我的项目图片,显示我制作了示例项目模板项目

我按照上面链接中提到的所有步骤进行操作,然后构建项目,然后在调试文件夹中找到 vsix 扩展,而不是安装它。

安装后我启动另一个 vs2013 实例并检查扩展是否安装,我发现扩展安装正确。

然后我在视图文件夹中单击鼠标右键 => 去添加 => 新项目然后在新对话框中我搜索 SampleTemplate 但它没有找到。

我不知道为什么我没有在我的视觉工作室找到这个。

我在吹路的计算机中找到了这个项目模板,但在 vs2013 中没有。

C:\Users[User]\AppData\Local\Microsoft\VisualStudio\12.0Exp\Extensions\MyNiral\VSIXProject1\1.0\Output\ItemTemplates\CSharp\Web\My Custom Templates

请帮助我提前谢谢你。

0 投票
1 回答
1431 浏览

c# - 如何在多个项目中创建自定义脚手架(mvc + 类库)

我有一个由几个项目组成的项目(一个 MVC 应用程序和 3 个用于业务逻辑和数据访问的类库)。我是构建脚手架扩展的新手,想知道是否可以创建一个可以生成的自定义脚手架

  1. 我的 MVC 应用程序项目中的控制器、视图模型和视图
  2. 在其他项目中添加一些属于类库的文件和文件夹。

到目前为止,我已经实现了第一个目标(这很容易),但我找不到任何方法可以将文件添加到其他项目。

我想知道是否没有直接的方法,也许我可以导航到其他项目目录中的文件夹并创建文件。然后手动将它们包含在我的项目中。

PS 我正在使用 SideWaffle 的基本脚手架模板

提前感谢所有答案。

0 投票
1 回答
1360 浏览

c# - 如何创建自定义 ASP.NET MVC 项目模板?

背景:我正在尝试使用 Visual Studio 2013 Ultimate Update 5 为 ASP.NET MVC创建一个新的 C# 项目模板。首先,我从空模板创建一个 Web 应用程序并包含 MVC 引用。然后,我添加了应用程序所需的所有基本组件,例如模型、控制器和视图。接下来,我运行它,它可以工作。然后,我将其导出为项目模板。

过去,我已经使用上述方法成功地为 Web Api 和控制台应用程序创建了模板。

问题描述:当我尝试将模板用于新项目时,出现以下错误:

未启用调试图像

根据错误消息和Microsoft,我应该能够通过在我的 Web.config 文件中放置以下代码来解决此问题:

但是,这已经存在,并且对话框仍然存在。

如果我尝试在不调试的情况下运行,我会在浏览器中收到以下错误:

HTTP 错误 500.19 - 内部服务器错误

无法访问请求的页面,因为该页面的相关配置数据无效。

尝试解决:

  1. 删除了 Web.config 和 web.config 文件,并将它们从现有的有效解决方案中导入。
  2. 选择“添加启用调试的新 Web.config 文件”,这将覆盖现有的 Web.config 和 web.config 文件。尽管 Visual Studio 能够覆盖 Web.config,但无法覆盖 web.config(“操作无法完成。未实现”出现在对话框中)。
  3. 将上述 system.web 标签添加到 web.config。
  4. 确保在属性设置中启用了 Asp.Net 调试器
  5. 在运行之前清理并手动删除现有的 .dll
  6. 使用 Nuget 卸载并重新安装 ASP.NET MVC

更新:

我没有在 Visual Studio 中使用导出模板,而是安装了TemplateBuilder 和 SideWaffle,并按照链接的视频说明构建自定义项目模板。但是,尝试从模板创建新项目时出现以下错误:

在此处输入图像描述

自 4 月以来,此错误一直是github 中的一个未解决问题,因此看来我很不走运。

第二次更新:根本原因分析

我已经确定了基于导出模板的项目失败的根本原因。比较基础项目和派生项目的引用可以发现以下内容:

衍生的:

根据:

一旦派生项目中的 HintPaths 重置为基础项目的提示路径,派生项目就会成功运行(没有“调试未启用”对话框)。

问题变成了:“如何确保派生项目的 HintPaths 自动设置为适当的值?”

0 投票
1 回答
1232 浏览

c# - 自定义模板命名空间错误

我的自定义项目模板在 Visual Studio 中使用 Sidewaffle。在我尝试将新类添加到现有项目之前,它工作正常。

每当添加一个新类时,命名空间与我用于创建模板的项目中的命名空间相同 - 而不是当前项目的命名空间。模板替换默认文件中的命名空间,而不是新文件。

我可以解决这个问题还是每次都必须更改命名空间?

0 投票
1 回答
26 浏览

sidewaffle - TemplateBuilder _preprocess - 生成新的 guid 作为值

我正在使用 sidewaffle TemplateBuilder 创建一个多项目解决方案。在我的一个项目中,我有一个 GUID,我想在 _preprocess 期间更改它,生成一个新的 GUID。就像是:

如何才能做到这一点?