我从源代码管理中检查了一个C#代码分支.它包含各种文件夹中的50个项目.没有找到现有的.sln文件.
我打算创建一个空白解决方案来添加现有解决方案.用户界面只允许我一次完成这个项目.
有什么我想念的吗?我想指定一个*.csproj文件列表,并以某种方式提出一个包含所有项目的.sln文件.
我有以下项目结构:
Library1 <--[project reference]-- Library2 <--[ref]-- Executable
-------- -------- ----------
ContentFile .cs files .cs files
.cs files
Run Code Online (Sandbox Code Playgroud)
所有项目引用都具有CopyLocal = true.
当我构建项目时,ContentFile会将其复制到Library2输出目录,而不是复制到Executable输出目录,这意味着ContentFile应用程序运行时缺少可执行文件.
为什么内容文件被复制到Library2输出目录,但不是Executable?有没有办法将它复制到后者(我想在没有构建事件的情况下这样做,因为我相信人们会忘记这一点)?
我正在寻找一个合理且可维护的解决方案; 在添加新项目或新的间接引用的内容文件时,只需要很少的工作,因此尽可能不要忘记这样做.
使用Post-Build事件(如xcopy ../Library/bin/Debug/SomeDll.dll bin/Debug); 并手动设置项目的输出目录$(SolutionDir)/bin/...而不是默认(每个项目),两者都很快变得一团糟.将内容文件添加为"主项目"中的链接也太乏味了.如果C#具有与Visual C++相同的输出文件的默认设置(即$SolutionDir/$Platform/$Configuration),那就没问题了,但事实并非如此.
我也考虑过根本不使用标准的MSBuild程序并编写自定义构建目标(比如在Atmel Studio中使用gcc),但我没有做得太远.此外,我希望Visual Studio的标准"构建"和"调试"命令像往常一样工作.
以下是我正在做的更多细节.
我有一个Executable项目的解决方案.此外,还有很多项目可以调用Plugin.通过托管项目引用Executable引用所有这些Plugin.
由于插件项目是针对可执行文件定制的,但可能具有可重用的组件,因此主要功能通常在External项目中实现,使Plugin项目仅仅是包装器(并非总是如此).
所述External项目有时使用由第三方提供的本机DLL.然后将这些DLL External作为内容文件添加到项目中并Copy to output dir设置为 …
是否可以在Visual Studio 2008中打开项目而无需打开上次打开项目时先前打开的所有文件.我习惯在工作时保持许多文件打开,所以下次打开项目时,它(非常慢)将一堆文件加载到编辑器中,我甚至可能不需要打开它.我搜索了设置,找不到任何可以阻止此行为的内容.
settings projects-and-solutions visual-studio-2008 visual-studio
同胞类人猿和睡莲叶和明轮!
我正在使用VS 2008在C#/ .NET/WPF中开发Windows桌面应用程序.该应用程序需要在Vista和XP计算机上安装和运行.我正在使用安装程序/ Windows Installer项目来安装该应用程序.
我的应用程序需要读取/修改/写入SQLCE数据库文件(.sdf)以及与我正在使用的第三方控件相关的其他数据库类型文件.这些文件应该在PC上的所有用户/登录之间共享,其中任何一个都不需要是管理员.当然,这意味着文件不能进入程序自己的安装目录(因为在Vista到来之前通常会这样做,是的,是的!).
我原本以为解决方案很简单.Vista和XP都有用于此目的的共享应用程序数据文件夹.(Vista中的"\ ProgramData",XP中的"\ Documents and Settings\All Users\Application Data".).NET Environment.GetFolderPath(SpecialFolder.CommonApplicationData)调用用于查找给定PC上这些文件夹的路径,是,是的!
但我无法弄清楚如何在安装项目中将shared-application-data文件夹指定为目标.
Setup项目提供了一个"Common Files"文件夹,但是它用于共享程序组件(而不是数据文件),通常位于"\ Program Files"下,并且具有与"\ Program files"中的任何其他内容相同的安全限制,是的是的!
安装项目提供了"用户的应用程序数据"文件夹,但这是一个每用户文件夹,这正是我想要避免的,是的,是的!
是否可以从VS 2008安装项目以强大的跨Windows版本方式将文件添加到shared-app-data文件夹?谁能告诉我怎么样?
deployment installation desktop projects-and-solutions visual-studio-2008
我正在运行Visual Studio 2017,版本15.0.0 + 26228.9
当我尝试通过Visual Studio 2017中的文件>新建>项目...创建一个新项目时,我收到以下错误消息,并且未创建项目:
访问被拒绝(HRESULT异常:0x80070005(E_ACCESSDENIED))
这种情况发生在我使用的每个项目模板上(例如C#WPF,VB WPF,C#Console App ......).
如果我尝试通过visual studio的起始页面上的快速搜索框创建项目,VS就会立即崩溃,完全没有异常消息:
有没有其他人遇到这个问题,可能知道如何解决它?
假设我有一个Window Forms/Console Application C#项目,其中包含一些外部引用和对同一解决方案中其他类库项目的引用.
当我构建Window Form项目时,我希望引用的库存储在不同的位置(例如:bin\Release\Libraries),而不是与.exe相同的文件夹.
有可能吗?
当我将许多C#示例项目与我的VB.NET项目进行比较时,我看到References文件夹显示在解决方案资源管理器中,而不必选择"显示所有文件".是否有可能将这个用于VB.NET项目?我发现显示这个文件夹而不必查看所有其他隐藏文件会非常有帮助.
我正在使用VS2010 Professional.
这增加了我之前应该首先学习C#的原因列表...提前感谢任何可以告诉我如何实现这一目标的人,或者最终粉碎我的梦想.
projects-and-solutions reference solution options visual-studio
将解决方案拆分为逻辑层时,何时最好使用单独的项目而不仅仅是按文件夹分组?
是否有可能在VS中制定解决方案依赖(即包括)整个其他解决方案?我见过一些关于"解决方案文件夹"的东西,但这些似乎并不是一回事......?谢谢!(顺便说一下,我正在使用VS 2008)
dependencies projects-and-solutions visual-studio-2008 visual-studio
我通常做的是在解决方案中创建一个新文件,我想使用它(同名),将类的内容从源解决方案复制并粘贴到目标,根据需要修复命名空间和导入.
我知道这样做的唯一另一种方法是在目标解决方案中打开源文件,然后将副本保存到该文件夹中,这可能会让一个解决方案中同名的两个文件打开混乱.
有没有人有更简单的方法来做到这一点?
c# ×2
.net ×1
assemblies ×1
csproj ×1
dependencies ×1
deployment ×1
desktop ×1
installation ×1
options ×1
reference ×1
settings ×1
solution ×1