不同的构建操作在 csproj 中有何作用? IE。附加文件或假货

2024-03-26

不同的构建操作在 Web API 项目中起什么作用(也可能适用于其他类型)?

我看到:无、编译、内容、嵌入式资源、AdditionalFiles、CodeAnalysisDictionary、ApplicationDefinition、页面、资源、SplashScreen、DesignData、DesignDataWithDesignTimeCreatableTypes、EntityDeploy、XamlAppDef、Fakes

我在 StackOverflow 上发现了类似的问题,但它们没有链接到任何 Microsoft 文档或包含所有项目。即,AdditionalFiles 或 Fakes 有什么作用?

“Visual Studio 项目属性中的各种“生成操作”设置是什么以及它们的作用是什么?” https://stackoverflow.com/questions/145752/what-are-the-various-build-action-settings-in-visual-studio-project-properties有一个不完整的列表。

是的,我确实看过,但在文档中找不到它。


没有关于这些属性的集中文档。原因是这个列表是可扩展的,每个 Visual Studio 项目类型都可以提供它自己的。这也意味着下拉列表的内容会根据您安装的 Visual Studio 负载、扩展、您使用的编程语言等而变化。

这是如何扩展代码分析的示例:

<!-- Make AdditionalFiles and CodeAnalysisDictionary available as a Build Action in Visual Studio -->
<ItemGroup>
  <AvailableItemName Include="AdditionalFiles" />
  <AvailableItemName Include="CodeAnalysisDictionary" />
</ItemGroup>

其他的可以通过爬取MsBuild的targets文件夹找到,每个都是通过注册的AvailableItemName中的项目.target files.

  • None,
  • 编译 - 将文件传递给属于项目类型的编译器
  • 内容 - 将文件标记为内容并可选择将它们复制到输出目录
  • 嵌入资源 - 用于将内容作为资源嵌入到程序集中
  • 附加文件 - 由代码分析功能使用。在 Microsoft.CodeAnalysis.Targets 中定义
  • CodeAnalysisDictionary - 由代码分析功能、FxCop 和 Roslyn 使用。在 Microsoft.CodeAnalysis.Targets 中定义
  • ApplicationDefinition - 在 Microsoft.Winfx.targets 中定义
  • 页面 - 在 Microsoft.Winfx.targets 中定义
  • 资源 - 在 Microsoft.Winfx.targets 中定义
  • SplashScreen - 在 Microsoft.Winfx.targets 中定义
  • DesignData - 在 Microsoft.Winfx.targets 中定义
  • DesignDataWithDesignTimeCreatableTypes - 在 Microsoft.Winfx.targets 中定义
  • EntityDeploy - 在 Microsoft.Data.Entity.targets 中定义
  • XamlAppDef - 在 Microsoft.Winfx.targets 和 Microsoft.Xaml.targets 中定义
  • Fakes - 由 Fakes 框架(Visual Studio Enterprise 的一部分)使用。一个框架,允许编写可以绕过静态、内部和私有 API 的测试。

除了您发布的系统之外,我的系统还有一些额外的系统。您需要搜索每种项目类型的文档以了解其含义。根据其来源,您可能需要查看第三方系统的文档。

MsBuild 的可扩展性使其成为一个非常强大的系统,同时它有时也会使弄清楚事情为何如此的过程变成噩梦。我一直坚持这样的推理:“如果我不知道它意味着什么,我可能就不需要它......”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不同的构建操作在 csproj 中有何作用? IE。附加文件或假货 的相关文章

随机推荐

  • 多维缩放后如何获取特征值?

    我有兴趣查看执行多维缩放后的特征值 什么函数可以做到这一点 我看了看文档 http scikit learn org stable modules generated sklearn manifold MDS html sklearn ma
  • Qt Webengine 渲染到打印

    有没有办法使用 QtWebEngine 将 HTML SVG 渲染到打印机 PDF 和光栅图像 我们想从WebKit切换到WebEngine 因此使用WebKit的QWebView不再是一个选择 宣布 Qt Web Engine 将支持打印
  • 如何解决具有 3 个变量的背包问题?

    解决与背包问题相关的问题的最佳方法是什么 该问题有 3 个变量 例如 价值 重量和体积 尽可能的最大值 有最大重量和体积限制 我尝试过根据其值 重量 体积 使用定义的索引 但我相信这不会给我最好的解决方案 所以我进行了搜索 有些人建议使用动
  • Haskell 类似实例?

    我是 Haskell 的新手 所以我的问题可能很愚蠢 我想要一个功能 show2 Show a gt a gt String 这会返回show a对于任何a but a如果 a 是它本身String 我该如何实施 附 如果这个函数已经在某个
  • 用汇编语言更改 CS:IP

    怎么可以强行改变CS and IP都是汇编语言 ORG指令可用于更改的数量IP 但是你如何改变CS 基本上我想使用汇编来实现多线程 许多论坛 包括堆栈溢出中的一个问题都说这是不可能的 但是即使 C 是由汇编代码制成的 它如何具有多线程选项呢
  • Spring中列表到页面的转换

    我正在尝试在春季将列表转换为页面 我已经使用它进行了转换 new PageImpl 用户 可分页 users size 但现在我在排序和分页本身方面遇到了问题 当我尝试传递大小和页面时 分页不起作用 这是我正在使用的代码 我的控制器 pub
  • CSS:将父级更改为子级的焦点

    假设你有类似的东西 div class parent div
  • 确定任务是否在外部 build.gradle 文件中定义

    我有一个在运行时创建的 gradle 任务 用于调用另一个任务 myOtherTask 该任务位于单独的 gradle 文件中 问题是如果其他任务不存在 则会抛出异常 在尝试调用任务之前 是否可以检查外部 gradle 文件中是否存在该任务
  • Youtube API:评论插入403禁止权限不足

    我正在使用底部的 API 资源管理器https developers google com youtube v3 docs commentThreads insert https developers google com youtube
  • React-native视图按内部文本自动调整宽度

    据我所知 react native 样式表不支持 min width max width 属性 我里面有一个视图和文本 自动宽度的视图不会通过继承文本元素调整大小 如何解决该问题并使用文本宽度自动设置视图宽度 我的代码是
  • 如何将多个 SHA1 指纹添加到我的 Android 应用程序中进行测试?

    我的 Android 应用程序已经在 Google 开发者控制台上有另一个开发者不久前生成的 SHA1 指纹 现在 我正在应用程序中调试 Google 登录错误 结果发现 Google 登录使用在中找到的默认 SHA 1 android d
  • iTunesConnect - 自动下载应用程序的使用情况分析

    iTunes 连接 https itunesconnect apple com的应用程序分析页面有两个部分 销售和使用情况 对于第一部分 他们有自动摄取工具 https www apple com itunesnews docs AppSt
  • 在 Swift 3 中使用 -observeValueForKeyPath:ofObject:change:context:

    我正在尝试将 Swift 2 2 项目转换为 Swift 3 但收到以下错误 Method observeValue forKeyPath ofObject change context with Objective C selector
  • 将人类友好的日期转换为毫秒[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何将人类友好的日期转换为自 UNI
  • 如何在 Linux 中获取“文件创建时间”

    我需要找出在 Linux 中使用 C 创建文件的时间和日期 如何获取文件的最后修改日期 http www jb man ac uk slowe cpp lastmod html struct stat attrib 1 create a f
  • 在特定时间过后自动更改 WooCommerce 订单状态?

    有没有办法让 WooCommerce 在经过这么长时间后自动将自定义订单状态更改为不同的自定义订单状态 基本上 我希望所有订单状态更改为 退款已提交 的订单在 30 天后自动更改为 退款已过期 我意识到这些不是正常的 WooCommerce
  • Google OAuth 访问令牌

    我对 OAuth 和 Google 感到很困惑 我花了很长时间才获得刷新令牌来创建新的访问令牌 然后发现refresh token也过期了 这有什么意义啊 我需要做的就是保留一个有效的 access token 以供使用legato htt
  • 如何在 WebView 中加载 HTML 页面时显示进度对话框

    我正在使用 Web 视图来显示 html 页面 并且我想在页面加载之前显示一个进度对话框 完成后 对话框必须消失 我为此使用了 AsyncTask 但对话框不显示 请参阅下面的我的代码 class DownloadAysnc extends
  • 异步调用完成后渲染 React 函数组件的一部分

    我将 Material ui 与 React 函数组件一起使用 并使用其自动完成组件 我自定义了它 每当我更改输入字段中的文本时 我希望该组件呈现新的搜索结果 callAPI xyz 我在操作中调用 API 并使用 xyz 参数 从该函数组
  • 不同的构建操作在 csproj 中有何作用? IE。附加文件或假货

    不同的构建操作在 Web API 项目中起什么作用 也可能适用于其他类型 我看到 无 编译 内容 嵌入式资源 AdditionalFiles CodeAnalysisDictionary ApplicationDefinition 页面 资