标签: solution

Unity 项目没有解决方案文件

我刚开始学习 unity,并创建了一个项目。但是我的项目中没有包含 sln 文件。每次我创建一个 C# 脚本并在 Xamarin Studio 中打开它时,我都没有任何智能感知。

  1. unity项目中没有sln文件正常吗?
  2. 如果没有,如何将解决方案文件添加到项目中?
  3. 为什么会这样?

macos solution monodevelop unity-game-engine xamarin

10
推荐指数
3
解决办法
9602
查看次数

Visual Studio C++ 多项目解决方案设置

0. 免责声明

这个问题仅涉及Visual Studio C++ 项目/解决方案配置,可能涉及主观性。

然而,这篇文章背后的想法是分享我们配置大型 Visual Studio 解决方案的方法。

我不考虑任何像CMake/Premake这里 的工具。

1. 问题

  • 如何使用 Visual Studio 处理大规模 C++ 应用程序体系结构和配置?
  • 对于您来说,设置由多个项目组成的新 Visual Studio 解决方案的最佳方法是什么?
  • 您试图避免哪些 Visual Studio 项目/解决方案配置功能?(例如:过滤器而不是文件夹

2. 个人方法

2.1. 语境

我是一家视频游戏公司的软件开发人员,所以我将用一个非常简化的游戏引擎架构来说明我的话:

在此输入图像描述

2.2. 文件结构

我的 Visual Studio 解决方案可能如下所示:

在此输入图像描述

其中Application可执行文件,其他所有项目都是(动态链接)。

我的方法是将每个项目分成两个文件夹:includesrc

在此输入图像描述

内部结构将分为我的命名空间后面的文件夹:

在此输入图像描述

2.3. 项目配置

以下行将假设只有一个$(Configuration)可用$(Platform)(例如:Release-x64),并且为每个项目完成了对 .lib 文件的引用Linker/Input/Additional Dependencies

我将在这里定义一个Bin(输出)、Bin-Int(中间输出)和Build(组织输出)文件夹,假设它们位于 …

c++ architecture project solution visual-studio

10
推荐指数
0
解决办法
3467
查看次数

自动包含Visual Studio中vcproj项目中文件夹的所有.cpp/.h文件

有没有办法设置vcproj项目文件夹,以便根据项目的路径自动包含所有.cpp或.h文件?

换句话说,使用Windows资源管理器将文件添加到项目的文件夹时,是否可以将这些新文件自动添加到Visual Studio中的vcproj项目中?(即使我必须重新启动Visual Studio).
我不需要只看到它们,但我需要将它们自动包含在项目中以进行编译和其他操作......

我看到的唯一方法是创建一个Visual Studio插件或VB脚本来做到这一点......

感谢和问候

automation solution vcproj visual-studio visual-c++

9
推荐指数
1
解决办法
2962
查看次数

Visual Studio中大解决方案中最受欢迎的项目

除非我道歉,如果有人问过 - 我找不到比赛.我有一个... 96个项目的解决方案.我一次工作3-4次.有没有办法过滤掉,标记为我最感兴趣的项目等?项目按字母顺序排序,因为我的一个项目从B开始,另一个项目从T开始,我总是不得不向下滚动并强调我的大脑,同时寻找所需的东西.有点令人失望.我认为我没有使用解决方案文件夹.这是要走的路吗?

.net c# solution visual-studio

9
推荐指数
3
解决办法
1070
查看次数

阻止MSBuild在.sln中构建项目而不使用解决方案配置

我想在构建解决方案时禁止构建某些项目(在TeamCity构建配置中,以便在必须知道的情况下优化我的Commit Build反馈的速度).

我知道解决方案配置机制,但不希望强制使用大量.sln文件来结束我希望能够关闭的每个事物的排列.我有基于约定的规则,我想说"如果我正在进行提交构建,我不想做最终的安装程序包装".(而且我不想将其分解为单独的解决方案).

我不想在.sln文件或.proj通过创建的文件中使用涉及查找和替换的解决方案[MsBuildEmitSolution][1].我知道这里的问题涵盖了开箱即用的解决方案这个稍微相关的问题.

我看到MSBuild /v:diag说:

 2>Target "Build" in file "Z.sln.metaproj" from project "Z.sln" (entry point):
   Using "MSBuild" task from assembly "Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
   Task "MSBuild"
     Global Properties:
       BuildingSolutionFile=true
         CurrentSolutionConfigurationContents=<SolutionConfiguration>
   <ProjectConfiguration Project="{C83D035D-169B-4023-9BEE-1790C9FE22AB}" AbsolutePath="X.csproj" BuildProjectInSolution="True">Debug|AnyCPU</ProjectConfiguration>
   <ProjectConfiguration Project="{15E7887D-F1DB-4D85-8454-E4EF5CBDE6D5}" AbsolutePath="Y.csproj" BuildProjectInSolution="True">Debug|AnyCPU</ProjectConfiguration>
 </SolutionConfiguration>
Run Code Online (Sandbox Code Playgroud)

所以问题是:

是否有一个整齐的让我做一个XPath更换或类似有变化的有效途径,以上述项目ÿBuildProjectInSolution="True"BuildProjectInSolution="False"

如果失败了,我是否可以在.ccproj(An Azure 1.4 Package)或.csproj(一般项目)文件中进行相对简单的编辑,以便在命令行msbuild Z.sln解决方案构建中启用项目的效果(包括触发依赖项目)无效?

msbuild teamcity solution azure-packaging

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

ASP.NET Web App的分布式缓存/会话解决方案

我正在寻找分布式缓存/会话解决方案,下面是我发现的.我希望任何人都可以分享有关使用它的利弊的信息:

  1. NCACHE

  2. Windows Server AppFabric

  3. MemCached按照@TFD的推荐

我使用的是ASP.NET 4和SQL Server 2008.

任何想法都将非常感谢!

asp.net session distributed caching solution

9
推荐指数
1
解决办法
4103
查看次数

如何以编程方式创建Visual Studio解决方案(.sln)文件,包括网站项目?

我正在开发一个代码生成器项目,该项目使用可自定义的层创建解决方案 现在我可以通过编写代码中的所有元素来创建.sln文件.但是项目文件不需要这个,可以使用MSBuild Project类进行编辑.

我想添加一个网站项目模板支持等,所以这样我编辑.sln文件并不酷,我想知道有更好的方法来做这个,比如MSBuild或其他什么?

我看到以编程方式生成Visual Studio解决方案,该解决方案说使用Visual Studio SDK(用于扩展visual studio,编写插件......),但是没有任何代码示例.

提前致谢

c# msbuild code-generation solution visual-studio

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

BuildManager使用另一个版本的MSBuild

以下代码尝试以编程方式构建解决方案,使用BuildManager:

ProjectCollection pc = new ProjectCollection();
pc.DefaultToolsVersion = "12.0";
pc.Loggers.Add(fileLogger);
Dictionary<string, string> globalProperty = new Dictionary<string, string>();
BuildRequestData buildRequest = new BuildRequestData(solutionName, globalProperty, null, new[] { "Build" }, null);

BuildParameters buildParameters = new BuildParameters(pc)
{
    DefaultToolsVersion = "12.0",
    OnlyLogCriticalEvents = false,
    DetailedSummary = true,
    Loggers = new List<Microsoft.Build.Framework.ILogger> { fileLogger }.AsEnumerable()
};

var result = BuildManager.DefaultBuildManager.Build(buildParameters, buildRequest);
Run Code Online (Sandbox Code Playgroud)

当我运行此代码(它没有构建任何btw)时,我可以看到csc.exe除了一个特定版本之外还使用了以下编译器winmdexp.exe:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Csc.exe
ExportWindowsMDFile:
    C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\winmdexp.exe 
Run Code Online (Sandbox Code Playgroud)

但是当我使用VS IDE成功构建解决方案时,会出现以下信息:

C:\Program Files (x86)\MSBuild\12.0\bin\Csc.exe
ExportWindowsMDFile:
    C:\Program Files …
Run Code Online (Sandbox Code Playgroud)

c# msbuild solution microsoft.build winmd

9
推荐指数
1
解决办法
4947
查看次数

什么是C#解决方案以及如何使用它?

我是C#的新手(来自Python和C),当我在Monodevelop或Visual Studio中开始一个新项目时,该项目被置于一个"解决方案"容器中.

我看一下微软对解决方案的描述,但我并不真正了解这个的好处以及我应该如何使用它.

微软的文档说:

在逻辑意义上和文件系统中,项目包含一个解决方案,该解决方案可能包含一个或多个项目,以及构建信息,Visual Studio窗口设置以及与任何项目无关的任何杂项文件.从字面意义上讲,解决方案是一个具有自己独特格式的文本文件; 它通常不打算手工编辑.

有人可以解释一下"解决方案"的用途吗?

c# solution visual-studio

9
推荐指数
2
解决办法
3947
查看次数

为整个 Visual Studio 解决方案设置 warningsaserrors,而不仅仅是每个项目

在 Visual Studio 中,您可以转到项目的属性 -> 构建 ->“将警告视为错误”,并提供以逗号分隔的警告列表,以在构建时将其视为错误。

这会导致以下行被添加到.csproj文件的构建配置中:<WarningsAsErrors>[list of warnings]</WarningsAsErrors>

这样做的问题是,当您拥有包含数十个项目的大型解决方案时,您必须手动或通过脚本为所有项目设置此设置,并且如果您进行任何更改,则必须对所有项目进行更改。

有没有什么方法可以在解决方案级别而不是在每个项目的基础上进行设置?

solution csproj visual-studio

9
推荐指数
1
解决办法
1139
查看次数