【问题标题】:Custom Visual Studio solution自定义 Visual Studio 解决方案
【发布时间】:2021-05-03 01:58:07
【问题描述】:

我正在使用这些工具和技术:

  • Visual Studio 2019 CE
  • Windows 10
  • SQL 服务器
  • C# 和 ASP.NET MVC

目前我创建了一个新的 Visual Studio 2019 解决方案。

  1. 添加三个/四个 nuget 包(自动以 MVC 为目标)。

  2. 更改几个文件。

  3. 设置配置文件。

  4. 添加标准/默认项目图像。

我现在开始根据需要开发网站。

我将在一天结束时将项目签入 Azure DevOps。

有没有办法通过我设置一次的模板/包来完成上述 4 个步骤,这样以后我可以在 Visual Studio 中单击几个按钮,所有 4 个步骤都已为我完成,而不必手动执行每个步骤?

错误

错误 1

此项目引用此计算机上缺少的 NuGet 包。使用 NuGet 包还原下载它们。有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props。

尝试恢复包后

错误 2

尝试还原包时出错:找不到包“AAAA”C:\Program files(x86)\Microsoft SDKs\NuGetPackages 的版本“XXXX”:在源 C:\ 上找不到包“AAAA”程序文件(x86)\Microsoft SDKs\NuGetPackages....https://api.nuget.org/v3/index.json 在源 https://api.nuget.org/v3/index.json 上找不到包“AAAA”

【问题讨论】:

标签: c# asp.net-mvc visual-studio visual-studio-2019


【解决方案1】:

有一个东西叫做multi-project template。同一页面在creating a multi-project template from an existing solution 上有一个特定部分:

  1. 创建一个解决方案并添加两个或更多项目。

  2. 自定义项目,直到它们准备好导出到模板。

  3. 在项目菜单上,选择导出模板。

  4. 导出模板向导打开。

  5. 在选择模板类型页面上,选择项目模板。选择要导出到模板的项目之一,然后 选择下一步。 (您将对中的每个项目重复这些步骤 解决方案。)

  6. 在“选择模板选项”页面上,输入模板的名称和可选描述、图标和预览图像。选择完成。

  7. 项目被导出为 .zip 文件并放置在指定的输出位置。

  8. 为您的模板创建一个目录,每个项目都有一个子目录。

  9. 将每个项目的 .zip 文件的内容提取到您创建的相应子目录中。

  10. 在基本目录中,创建一个带有 .vstemplate 文件扩展名的 XML 文件。此文件包含多项目的元数据 模板。有关文件结构,请参见下面的示例。 一定要指定每个项目的 vstemplate 的相对路径 文件。

  11. 选择基本目录中的所有文件,然后从右键单击或上下文菜单中选择发送到 > 压缩(压缩) 文件夹。文件和文件夹被压缩成一个 .zip 文件。

  12. 将 .zip 文件复制到用户项目模板目录中。默认情况下,此目录为 %USERPROFILE%\Documents\Visual Studio \Templates\ProjectTemplates。

  13. 在 Visual Studio 中,选择“文件”>“新建”>“项目”并验证您的模板是否出现。

【讨论】:

  • 谢谢 - 到目前为止一切顺利,但是当我从模板创建一个新项目时,它无法恢复任何 Nuget 包。任何想法?我会尽快将此标记为答案
  • 在构建期间始终会下载 nuget 包。否则模板会变得很大。同样的原因,我们不将它们存储在版本控制中。
  • 因此,当尝试恢复 nuget 包时,我收到的错误现在包含在我的原始线程中
  • 看来您有一个不在 nuget 上的自定义包。您必须在 nuget 上上传您的 aaaa 包,或连接到自定义提要。
  • 我将不得不四处挖掘,看看如何解决这个问题。 packages.config 中有 3 个引用存在此问题,因此我不知道它是否是引用另一个未下载组件的第三方 nuget 包之一。我们的想法是看看我是否可以获取包含问题的软件包的 zip 文件,将其添加到我们的本地服务器,添加 VS 的 URL 以进行搜索,看看会发生什么。
猜你喜欢
  • 2015-11-28
  • 1970-01-01
  • 2012-07-31
  • 2018-08-03
  • 1970-01-01
  • 2010-11-06
  • 2011-03-07
  • 1970-01-01
  • 2012-06-26
相关资源
最近更新 更多