标签: msbuild

67
推荐指数
5
解决办法
7万
查看次数

dotnet cli和新的vs2017 msbuild之间的关系

随着从VS2017引入project.json的新csproj格式的转变,我正在努力理解dotnetcli和new 之间的区别msbuild以及何时使用另一个.

1)要csproj从命令行构建新的netstandard库,我应该调用dotnetcli(例如dotnet restore dotnet build)还是使用msbuild(例如msbuild ExampleNetstandard.sln).

2)另外,我的理解是有两个版本msbuild,一个基于完整框架,另一个基于目标dotnet core.它是否正确?我应该经常使用dotnet version

3)是dotnet cli独立还是需要msbuild安装?例如,当您安装dotnet SDK时,这也安装了msbuild吗?如果是这样与vs2017安装的版本不同?

msbuild csproj dotnet-cli visual-studio-2017

67
推荐指数
1
解决办法
1万
查看次数

禁用在MsBuild中生成PDB文件

我希望从我的构建中挤出更多的速度,并想知道我是否可以指示msbuild不生成PDB文件.我正在传递Configuration = Release和DebugSymbols = false属性而没有运气.

c# msbuild debugging build-process

66
推荐指数
1
解决办法
3万
查看次数

MSBuild文件是否有标准文件扩展名?

MSBuild文件是否有标准文件扩展名,而不是项目文件,而是更复杂的构建脚本?

我在想.msbuild.proj以避免与其他.proj文件混淆(我知道它实际上是MSBuild文件).

msbuild

66
推荐指数
3
解决办法
1万
查看次数

BootstrapperPackage在*.csproj项目中的含义是什么

我正在将许多C#项目从vs.net 2008升级到vs.net 2010 rc.我注意到升级在*.csproj文件中创建了一个BootstrapperPackage部分(包括Microsoft.NET.Framework.3.5和3.5sp1).我想知道BootstrapperPackage是做什么的,我需要它们吗?

c# msbuild visual-studio-2010

66
推荐指数
3
解决办法
2万
查看次数

msbuild,定义条件编译符号

我可能只是盲目的,但在MSBUILD中是否有指定条件编译符号的命令行?

我目前在我的buildscript中有这行:

SET MSBUILD=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe
SET CONFIG=Debug
%MSBUILD% /p:Configuration=%CONFIG% /p:OutputPath=..\..\output source\MyProject\MyProject.csproj
Run Code Online (Sandbox Code Playgroud)

我想补充一个条件.在Visual Studio中,我可以进入Project Properties => Build =>条件编译符号,但我还没有看到msbuild的选项?

Bonus Karma如果你知道我是否可以完全覆盖.csproj文件中已经指定的所有符号,以确保只有我的Buildscript中的条件进入.

.net msbuild compiler-options

65
推荐指数
3
解决办法
4万
查看次数

How can I get current directory in msbuild script?

In my msbuild script I need to pass the full directory as a parameter. How can get it?

Example: I am running the script from C:\dev, I want a relative path temp, so I am after C:\dev\temp

Note: I don't know from which folder the script will be run.

.net c# msbuild

65
推荐指数
3
解决办法
5万
查看次数

Visual Studio重建未修改的项目

所以,正如标题所示,我现在有一个VS2010解决方案,里面有大约50个项目.如果我对没有引用的"顶级"项目进行更改,那么VS仍会重建所有50个项目.我正在运行Visual Studio 2010 Ultimate而没有任何附加组件.我正在使用ILMerge将所有项目合并到一个文件中.

我已经通过检查较低级别dll的时间戳来验证这一点,并且看到它们确实已经重建,即使它们的代码没有被触及.

我已阅读所有回复和评论:

Visual Studio 2008不断重建

Visual Studio不断构建一切

奇怪的VS2010构建故障发生在我的解决方案中

C#项目在Visual Studio中重建的原因

但是他们中的大多数只提供卸载项目的建议,以加快构建时间,但没有具体的解决方案.我试图弄清楚为什么VS认为这些依赖项目需要在不修复时进行重建.

我已经打开了'工具>选项>项目和解决方案>构建和运行>仅在运行时构建启动项目和依赖项'但没有任何效果.

此外,如果我只是重建一个只有8个(in)直接依赖项的"中级"项目,那么即使没有调用ILMerge并且没有修改任何依赖项目,它仍会构建所有8个项目.

感谢大家提供的任何见解.

添加

为了测试一些建议,我从头开始创建一个新的WinForms项目.然后我在该解决方案中创建了两个新项目.我将所有代码和资源(不是项目文件)从我的两个"最低级别"项目复制到两个全新的项目中(我通过将资源管理器中的文件和文件夹放到Visual Studio中的项目中来完成此操作).

最低的项目,我们称之为B,没有引用任何其他项目.下一个项目A仅引用了B. 因此,一旦我将所需的.NET和外部程序集引用添加到项目中,那么解决方案就会构建.

然后,我获得了我的新WinForm项目参考A并完成了完整版本.所以ref链是:

WinForm - > A - > B.

然后我修改了WinForm 并进行了标准构建(F6).和以前一样,Visual Studio重建了所有三个项目.

源文件在项目中的某些系统eleminiation后我发现,如果我打消了我Resources.Designer.csResources.resx(并评论指出,利用了的代码.Properties.Resources对这些资源的对象),然后修改的WinForm将不再重建整个解决方案,只会重建WinForm.

添加Resources.resxResources.Designer.cs返回项目B(但保留引用的代码,以便没有任何东西利用资源)将重新引入完整的构建行为.

要查看我的资源文件是否已损坏,我再次删除它们,然后创建一个新文件(通过Project Properties - > Resources)并重新添加与以前相同的资源,这是一个单独的Excel文件.使用此设置,仍将进行完全重建.

然后我删除了单个资源,但将资源文件保留在项目B中.即使没有添加资源,但资源文件仍在项目中,也会发生完全(不需要的)重建.

看起来只是将资源文件添加到(.NET 3.5)项目中将导致Visual Studio 2010始终重建该项目.这是一个错误或预期/预期的行为?

再次感谢所有人!

c# msbuild ilmerge visual-studio-2010 visual-studio

65
推荐指数
5
解决办法
3万
查看次数

错误LNK2038:检测到'_MSC_VER'不匹配:值'1600'与CppFile1.obj中的值'1700'不匹配

我正在将我的项目从VS2010转换为VS2012.但是我在某些项目中遇到了_MSC_VER链接器错误.经过长时间浏览谷歌后,我发现问题是由于VS2010中创建的库与VS2012的链接.

如何找出导致错误的项目?我在这里引用错误:

Error   6   error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj      D:\ProjectLocation\Projectname1.lib(CppFile2.obj) Projectname2
Error   15  error LNK2001: unresolved external symbol "private: static void __cdecl std::locale::facet::_Facet_Register(class std::locale::facet *)" (?_Facet_Register@facet@locale@std@@CAXPAV123@@Z)  D:\ProjectLocation\Projectname1.lib(CppFile3.obj)   Projectname2
Error   13  error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj    D:\ProjectLocation\Projectname1.lib(CppFile4.obj)   Projectname2
Error   12  error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in CppFile1.obj    D:\ProjectLocation\Projectname1.lib(CppFile5.obj)   Projectname2
Error   10  error LNK2038: mismatch detected for …
Run Code Online (Sandbox Code Playgroud)

c++ msbuild visual-studio-2010 visual-c++

65
推荐指数
2
解决办法
13万
查看次数

是否可以从Mono的命令行构建MSBuild文件(visual studio sln)?

是否可以构建Visual Studio解决方案而无需启动MonoDevelop?

msbuild mono

64
推荐指数
3
解决办法
4万
查看次数