问题标签 [buildaction]

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 回答
448 浏览

powershell - 如何使用 Powershell 中的枚举更改 C# 项目文件的 BuildAction?

我找到了这个问题和这个关于如何在 C# 项目中设置文件的 BuildAction(使用 Powershell)的答案。

基本上,获取指定的项目,然后设置“BuildAction”的值:

$item = $project.ProjectItems | where-object {$_.Name -eq "ReleaseNotes.txt"} $item.Properties.Item("BuildAction").Value = [int]3

我只是想知道是否有办法利用prjBuildAction 枚举值(它似乎对我不起作用)。

我试图修改第二条语句,但它不会改变 BuildAction:

那么,有没有办法使用枚举值来代替[int]3呢?

0 投票
1 回答
1105 浏览

visual-studio - 如何在构建时缩小已更改的 JavaScript 文件(并且只有它们)(也就是将“ItemGroup”添加到 csproj 后的重复项目)

我已将以下代码添加到我的 .csproj 以缩小在构建项目时更改的 JS 文件:

这很好用,但它有一个副作用:当您在 Visual Studio (2015) 中查看项目时,所有 JS 文件似乎都是重复的(相同的路径,但不同的构建操作):

重复项目

我想避免项目中出现带有“JS”构建操作的项目。我怎样才能做到这一点?

请注意,几个开发人员正在处理该项目,因此任何建议的解决方案都应包含在 .csproj 或解决方案中(例如:要求所有开发人员修改其注册表以更改 JS 文件的默认构建操作是不可接受的)。

0 投票
2 回答
67 浏览

vb.net - 查询似乎有效,但实际上并不影响 Access 数据库

我已将访问数据库作为数据源添加到我的项目中。所以我得到了自动生成的 tableadapters 类,因此可以访问包含连接字符串的表适配器实例。我正在使用它来打开与我的数据库的连接,这样我就可以首先删除一些记录,然后用新记录替换它们。查询似乎有效,因为.executenonquery确实返回了受影响的行。我什至尝试了一个delete *命令来确定。但是,当我打开数据库时,一切都是一样的。我对为什么有一些想法。我认为 tableadapter 返回的连接字符串可能很愚蠢,因为它包含指向项目数据目录的通用指针。

提供者=Microsoft.Jet.OLEDB.4.0;数据源=| DataDirectory |\DupeMDB.mdb;Persist Security Info=True

我还认为我的构建操作或复制到输出目录可能有问题。我真的不明白这两件事背后的机制。我认为也许复制到输出目录的事情可能是罪魁祸首。

这是我的目标。我想将此项目部署给我的秘书,以便她可以使用该程序来处理重复的记录列表等。数据必须与程序一起使用。我想将此.mdf文件与部署一起打包,并在她完成后从她那里取回。我已经接近尾声了(写回桌子)。有谁知道为什么表不会更新?

0 投票
1 回答
2393 浏览

c# - 在我的 C# 项目中,DLL 被标记为“错误地指定为文件”是什么意思?

我在 C# 项目中收到此警告:

该项目确实引用了 DAL05,它具有以下值:

此外,项目的 bin 文件夹包含具有以下值的 DAL05.dll:

这个 DLL 被认为是“错误地指定为文件”是什么意思?既然它“只是”一个警告,我可以幸福地忽略它,还是这是一个潜在的浅滩?

0 投票
1 回答
5920 浏览

visual-studio - Visual Studio 数据库项目中“构建”、“编译”和“无”构建操作的区别

虽然我可以(在网络上)找到很多关于Visual Studio 2012数据库项目中 SQL 脚本PreDeployPostDeploy 构建操作的信息,并且我知道在部署时不会编译或包含脚本,但请任何人明确建议或指导我到一篇明确定义和的微妙之处的文章?NoneBuildCompile

我的粗略假设是这两个都将针对架构进行编译,但只会Build被部署。这个对吗?

我想要的是正确的设置来针对当前架构验证我的播种脚本(并在无效架构结构上导致构建错误),但不与数据库发布一起部署或显示在架构比较会话中。

0 投票
0 回答
439 浏览

c# - C# 文件 Build Action = Content and Copy to Output = Copy 总是在 Build 时被复制,但在 Run 时被删除

我有一些文件设置复制到构建时的输出目录。当我进行构建时,文件会按预期复制。如果我检查构建日志,我可以看到文件从它所在的特定项目移动到 web 项目 bin 文件夹。

出于某种原因,只要我单击“运行”,bin 文件夹就会被清除,并且在此构建中,文件不会复制到 bin 文件夹中。

构建和运行之间可能有什么区别会导致文件在运行期间不被复制?

0 投票
1 回答
809 浏览

c# - WPF 如何在运行时修改我的项目文件夹中的资源/内容文件(不在 bin 目录中)?实施“最近的变化”部分

我想在运行时修改放置在我的项目文件夹(特别是“Assets/recentChanges.txt”)中的文件的内容。假设它包含有关应用程序最近更改的信息。它应该被读取并绑定到一个文本框控件,以后可以由开发人员编辑并保存回来。内容文件的问题是它们被复制到输出目录,因此我不是在编辑 Assets 文件夹中的原始文件,而是在bin/Debug/Assets/ 文件夹中的那个。并且嵌入式资源构建操作不是一个选项,因为无法修改此类文件。

问题是:如何在运行时修改其原始 root/Assets/recentChanges.txt 位置中提到的 .txt 文件?以下所有说明都指向类似的依赖于构建的路径:

或者,换句话说,在以下条件下实施“最近的更改”部分的正确方法是什么:

  • 基于其原始项目位置中的文本文件
  • 可以在运行时通过 UI 修改文件
  • 文件复制到输出文件夹并在发布的应用程序中对用户可见(通过文本框)

我知道这可能不是完美的方法,因为可以从数据库中收集“最近的更改”信息,或者可以手动修改 .txt 文件,然后将其复制到输出位置......但我认为这个问题有点令人困惑和我很想得到一些帮助。谢谢!

0 投票
1 回答
865 浏览

c# - WPF C# 反射:使用构建操作“页面”迭代所有资源

我有一个包含很多 ResourceDictionaries 的 .dll。

所有这些 ResourceDictionaries的构建操作都设置为"Page"

在 Dll 中,我想找到所有这些 ResourceDictionaries 并对其进行迭代。

如果我将构建操作设置为“EmbeddedResource”,我可以使用反射:

但是 GetManifestResourceNames() 不适用于具有构建操作“页面”的资源。

如何查找或遍历具有构建操作“页面”的所有资源?

解决方案不必是反射。任何其他方式都非常受欢迎。

谢谢!

解决方案:

女士们,先生们!我必须宣布,本周最佳人物和本次赏金的获胜者是 Jon Wu 先生。Jon Wu 给出了正确的提示,通过搜索,我找到了这个解决方案:

在运行时枚举 .NET 程序集资源

工作代码稍作改动,如下所示:

如果您调用此方法,您将获得最后带有“.baml”的所有资源字符串,您可以对其进行迭代。

感谢 Jon Wu 的正确提示。

0 投票
0 回答
17 浏览

wpf - WPF 无法为添加的文件设置构建操作

我的应用程序是 WPF(VS 2017)。我想将图像添加到项目中,并且需要使用相对路径,以便在发布时将其包含在应用程序中。(这里有一个类似的问题,如果答案对我有用,我会很高兴。)

问题是,当保存它的文件夹位于解决方案资源管理器的更下方时(过去的“属性”和“参考”),我无法添加“现有项目”。与 UWP 不同的是,图像文件等文件在浏览时不会出现。另一方面,在解决方案资源管理器的解决方案标题下方添加文件夹时,我可以添加现有项目。但是在我的情况下,图像文件除了名称和大小之外没有任何其他属性,在那里没有任何设置。但正如我从我提到的答案中了解到的,必须设置“构建操作”。事实上,源路径无法识别。

在 UWP 中,图像文件的属性会显示所有这些,例如“构建操作”等。似乎是一只害羞的鹿……知道有什么问题吗?提前感谢您的帮助!

0 投票
2 回答
58 浏览

c# - 哪个构建操作 (C# Microsoft Visual Studio) 适合启动在 Windows 窗体中具有零个或多个依赖项的 .exe 软件?

考虑这两个软件:MyGame.exeSocketTest.exe

MyGame.exe不依赖于任何文件来运行,但SocketTest.exe是一个实际的软件。仅当其他四个文件中的一个或多个与自身位于同一文件夹中时,它才能运行。这些文件是:metouia.jarSocketTest.batSocketTest.jarSocketTest.sh

我想使用 C# 在 Microsoft Visual Studio 中使用 Windows 窗体创建一个软件。它将有两个按钮:“Launch MyGame”和“Launch SocketTest”。

我转到解决方案资源管理器选项卡并右键单击我的.csproj文件以单击添加现有项目...,这样我就可以将MyGame.exeSocketTest.exe和其他四个文件添加到解决方案资源管理器中。

对于 6 个文件的文件属性,在“复制到输出目录”下,我选择“始终复制”。

对于Build Action,我不确定。我使用“无”。我的按钮仍然可以启动这两个 .exe 文件。

但是,如果我希望其他计算机能够使用我的软件启动这些 .exe 文件,尤其是依赖于其他文件的 .exe 文件,我不确定使用哪些设置。我已经阅读了构建操作描述(也在线),但仍然无法确定适合我情况的描述。