有什么不同的区别Build Configuration settings如任何CPU,混合平台,WIN32等在Visual Studio.
我们有一个包含大约100多个项目的解决方案,其中大多数是C#.当然,开放和构建需要很长时间,所以我正在寻找这种野兽的最佳实践.我希望得到答案的问题包括:
每个项目应该构建到自己的文件夹,还是应该构建到相同的输出文件夹(它们都是同一个应用程序的一部分)
解决方案的文件夹是组织内容的好方法吗?
我知道将解决方案分解为多个较小的解决方案是一种选择,但是它带有自己的重构和构建头痛,所以也许我们可以将其保存为单独的线程:-)
只是想知道是否有人可以帮我解决一些我想写的msbuild脚本.我想要做的是使用msbuild将文件夹中的所有文件和子文件夹复制到另一个文件夹.
{ProjectName}
|----->Source
|----->Tools
|----->Viewer
|-----{about 5 sub dirs}
Run Code Online (Sandbox Code Playgroud)
我需要做的是将tools文件夹中的所有文件和子文件夹复制到应用程序的调试文件夹中.这是我到目前为止的代码.
<ItemGroup>
<Viewer Include="..\$(ApplicationDirectory)\Tools\viewer\**\*.*" />
</ItemGroup>
<Target Name="BeforeBuild">
<Copy SourceFiles="@(Viewer)" DestinationFolder="@(Viewer->'$(OutputPath)\\Tools')" />
</Target>
Run Code Online (Sandbox Code Playgroud)
构建脚本运行但不复制任何文件或文件夹.
谢谢
自从我设置构建服务器以来已经有一段时间了,也许我已经忘记了某些东西,或者.NET 4.5与上次我做的这个版本有所不同,但这是我的问题.
我正在尝试设置构建服务器来监视源代码控制存储库.每当有什么变化时,我都希望服务器提取更改并构建项目.如果没有错误,我想将站点部署到构建服务器上运行的网站.
在过去我这样做的时候,我认为只安装了.NET就可以做到这一点,但是当我尝试构建这个项目时,我得到一个错误"C:\ Program Files\MSBuild\Microsoft\VisualStudio\v11缺少.0\WebApplications\Microsoft.WebApplication.targets",如果我去看看,我可以看到它丢失了.实际上,没有Visual Studio 11目标文件.
经过深思熟虑后,我走出去,得到了"Windows 8/.NET 4.5 SDK",认为.NET 4.5 SDK可能会安装我需要的目标文件,但除非我以某种方式安装错误. .
那么,我需要在构建服务器上放置什么才能构建项目.我宁愿不必安装完整的Visual Studio 2012.
我有一个Visual Studio 2010项目,它引用了一些第三方组件.它们的程序集附带了XML文档文件,这对我们(也是唯一的我们)开发人员很有用.无论何时构建项目(在调试或发布模式下),这些XML文件都将复制到构建目录中.
我似乎找不到设置或开关来禁用这些XML文件的副本到构建目录,无论是在Visual Studio中还是通过MSBuild.构建后的脚本可能是一个选项,但却是一个有臭味的选项.有任何想法吗?谢谢.
我正在调试其他人的工作,解决方案非常庞大.当我尝试构建整个事物时,解决方案中的几个项目不会构建,只是跳过.在构建过程中查看输出窗口说:
1> ------ Skipped Rebuild All:项目:pr1lib ------
如何确定跳过这些构建的原因?我无法找到额外的输出.
这是VS2008,解决方案由c#和c ++代码组成.
我正在寻找一个命令来运行MSBuild.exe,只需要一个MVC 4项目并将其发布到给定目录.
例如,
MSBuild <solution>/<project>.csproj -publish -output=c:/folder
Run Code Online (Sandbox Code Playgroud)
这显然是不正确的语法.我正在努力简化我的问题.
这个问题讨论了构建XML,但我并没有尝试用这么多细节做任何事情.
我只是想尝试部署.
在那个问题中,有人说"MSDeploy".我可以调查一下,但这是唯一的选择吗?我无法在服务器上安装Web部署.在这种情况下,我真正需要做的就是"发布"并将已发布项目的内容发送到服务器/文件系统上的给定目录.
有没有人可以使用一个班轮?
我必须使用MSDeploy吗?
MSDeploy是否要求在服务器上安装Web部署?
不在服务器上设置Web部署需要设置一些端口,权限和安装一些IIS附加组件?
我喜欢简单地执行一些事情.
我有用VS2010创建的ac..Net 4.0项目,现在可以通过VS2012访问.
我正在尝试仅将所需文件从此网站发布到目标位置(C:\ builds\MyProject [Files])
我的文件结构: ./ ProjectRoot / MyProject.csproj ./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml
我通过MSBuild运行以下代码:
C:\ Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe ./ProjectRoot/MyProject.csproj/p:DeployOnBuild = true /p:PublishProfile=./ProjectRoot/Properties/PublishProfiles/FileSystemDebug.pubxml
这是FileSystemDebug.pubxml中的xml
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>C:\builds\MyProject\</publishUrl>
<DeleteExistingFiles>True</DeleteExistingFiles>
</PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
结果是:
<publishUrl>C:\builds\MyProject\</publishUrl>WTF当我通过visual studio运行此发布配置文件时,会在*C:\ builds\MyProject*中创建一个文件夹,其中包含我想要的确切工件.
如何从msbuild获得这个简单的结果?
我经常在我的ASP.NET项目中添加很多内容文件(主要是图像和js).我正在使用VS发布系统,在发布之前,新文件在我将它们包含在项目中之前不会发布.我想自动包含指定目录中的所有文件.有没有办法指定哪些目录应该自动包含在csproj文件中或其他地方?
我正在尝试使用.NET Core编写一个插件系统,我的一个要求是能够将插件DLL及其依赖项分发给用户进行安装.但是,我无法弄清楚如何将我的NuGet依赖项包含为构建工件并将它们输出到构建文件夹,而不必将其dotnet publish用作hack.有什么方法可以在csproj中指定它吗?