问题标签 [msbuild-4.0]

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

msbuild - 我是否必须转换我的项目文件才能使用 MSBuild 4?

我有一个.proj使用 .Net Framework 3.5 的 C# 文件。目前,绑定.proj文件的解决方案使用 Visual Studio 2008。我们的日常构建目前使用 MSBuild 3.5。我知道您可以TargetFramework在 MSBbuild 4 中指定。

我的问题是:我必须使用 Visual Studio 2010 转换我的项目文件吗?我假设转换只影响.sln文件。

0 投票
2 回答
491 浏览

c++ - 如何设置 msbuild.exe 以将 SSE2 的正确值嵌入 _M_IX86_FP?

我已经在属性代码生成增强指令集中VS2010 Express Edition使用set 构建了一个解决方案。然后在针对预定义的程序测试中,按预期产生 2 的值。使用 构建的相同项目SSE2C++MARCO _M_IX86_FPmsbuild.exe

似乎使用 /arch:SSE2 为每个项目构建解决方案。但是,针对预定义的测试MARCO _M_IX86_FP产生的值为零。

如何msbuild.exe设置将 SSE2 的正确值嵌入到_M_IX86_FP?

测试用例

结果构建msbuild未能提供正确的值_M_IX86_FP

解决方法:
1. 打开 Visual Studio 2010 IDE
2. 打开或创建解决方案。(任何解决方案都可以)
3. 工具->设置 复选标记专家设置
4. 在解决方案面板的底部选择属性(文本可能被截断)
5. 展开调试或发布。
6. 右击 Microsoft.Cpp.Win32.user
7. 展开 C++ 并选择 Code Generation
8. Next to Enable Enhanced Instruction Set。选择所需的设置。
9. 应用
10. 请求时退出 Visual Studio 2010 保存。

Microsoft.Cpp.Win32.user 设置适用于所有解决方案和项目。这会在 Msbuild.exe 调用 Cl.exe 时强制设置 /arch:SSE 或 /arch:SSE2。不需要开关 /p:"VCBuildAdditionalOptions=/arch:SSE2"。仍然不知道为什么它不起作用。

我想你不能回答你自己的问题。

0 投票
1 回答
11358 浏览

msbuild - 替换 msbuild 变量中的字符

我需要替换要传递给 msbuild 4 中的 exec 任务的变量中的字符。具体来说,我需要用变量中的\正斜杠替换所有出现的反斜杠。/$(MSBuildProjectDirectory)

例如:

被调用的可执行文件是一个无法处理 Windows 格式的斜杠的 oracle 组件。

我看过Property Functions,但是作为System.String.Replace()实例方法而不是静态方法,它似乎不能满足我的需要。

有任何想法吗?

0 投票
1 回答
1743 浏览

msbuild - msbuild 字符串到数组

我正在使用 PowershellTask​​Factory 构建一个字符串,该字符串返回用分号分隔的文件列表。

当我尝试将其传递给我的 Wix 时,它被解释为字符串。我已经与它抗争了很长时间,并决定伸出援手。我真正想要的是要传递给wix的蜡烛应用程序的wx列表,我认为MsBuild会识别出该字符串包含分隔符并将其拆分......但它作为字符串参数传递给蜡烛。

更新 - 已解决

我最终使用了Property Functions的新 MSBUILD 4.0 功能,类似于这个

0 投票
3 回答
5360 浏览

msbuild - MSBuild 编译目标为类生成 dll?

我有一个 VB 类,当我运行时:

它还为包含该类的已编译代码的应用程序生成 Exe。

我想在 myfolder 文件夹中为我的 VB 类创建一个单独的 dll。

任何帮助表示赞赏!

0 投票
2 回答
564 浏览

msbuild - ItemGroup 中的动态元数据分配

我有一个ItemGroup定义为:

它会在我的项目目录中生成所有.proto文件的列表。我希望组中的每个项目都包含一段元数据,该元数据指定将基于.proto文件生成的文件的名称。我知道我可以这样做:

但我的问题是它不是从.proto文件名到输出文件名的简单映射。涉及一些棘手的逻辑,我需要在某处封装并在分配元数据时调用它。我需要类似的东西:

这个想法是我的自定义GetOutputFilename任务将被调用以获取元数据值。

这可能吗?我在吠叫错误的树吗?

0 投票
1 回答
925 浏览

.net - MSBuild 在 VB.NET lambda 表达式上失败

在像这样声明 lambda 表达式时,我在命令行中使用MSBuild (版本 4)构建项目时遇到问题:

错误发生在上面的第二行代码:

错误 BC30201:预期表达式。

在 Visual Studio 2010 中,它编译得很好。

MSBuild BAT 文件:

0 投票
2 回答
1849 浏览

t4 - 在 T4 模板中使用 MSBuild 属性

我正在使用 MSBuild 使用 T4 生成一些文件,我想知道是否可以在 T4 模板中引用和使用 MSBuild 属性?

我想做这样的片段:

Revision: <#=$(Revision)#>

这会引发错误:

error CS1056: Compiling transformation: Unexpected character '$'

我不希望将属性包装在自定义 DLL 中并将 C# 类作为 T4 属性引用。

任何帮助将非常感激。

0 投票
2 回答
1187 浏览

msbuild - MSBUILD Web 部署包 zip 文件不从父文件夹继承权限

我正在使用包目标从 msbuild 创建一个 zip 文件。它可以很好地创建它,并且我将其放入的文件夹具有用户权限,允许该用户完全控制该文件夹。但是,当我删除 zip 文件,然后运行 ​​msbuild 再次创建 zip 文件时,该 zip 文件已失去该用户的权限。

因此,我正在使用某个用户以编程方式部署包文件,并且该用户不再具有权限。

如何强制该 zip 文件从父文件夹继承权限,这样我就不必在每次 msbuild 创建它时手动将权限添加回 zip 文件?

0 投票
1 回答
6779 浏览

msbuild - MSBUILD web 部署包不包含项目参考 DLL 的

当我尝试使用 msbuild 创建一个用于 web 部署的包时,它只包含项目 dll。包 zip 文件或临时目录不包含引用项目的 dll。

我看过这篇文章,这不是我的问题。我肯定会使用我正在为其创建部署包的主项目中引用的项目中的代码。

我正在使用 MSBUILD 4 创建包。

当我使用 VS2010 使用完全相同的项目文件创建包时,它工作正常。所有引用的项目的 dll 都包含在 package.zip 文件中。

我尝试更改 _PackageTempDir 的位置,但这也没有解决问题。

我尝试取出 ExcludeFilesFromDeployment 属性并将 PackageAsSingleFile 设置设置为 false 以查看这是否会改变结果。

这是我的 Package 目标。所有的正则表达式都是为了让我可以将我的项目文件名从搜索路径的末尾拉出来,然后使用该名称作为输出文件夹的名称和 zip 文件的名称。PackageOutputDir 是我正在导入的属性。

关于为什么它不包括我引用的项目 dll 的任何想法?