如何在Visual Studio的C#项目中使用自定义框架替代.NET?

4

声明:我只有两天的经验尝试学习现代MSBuild技术,但多年来一直使用C#和VS,基本上避免了UI提供以外的项目文件细节。

我正在创建实验性DLL,故意.NET Standard中找到的几个DLL名称相匹配并且在某种程度上接口匹配。例如,自定义的System.IO.dll可能部分匹配.NET的System.IO.dll的公共接口,mscorlib.dll也是如此。

目标是能够创建一个新的C#项目(文件->新建->项目->…),并将其链接到这些替代DLL而不是官方DLL。已经成功地通过csc.exe从命令行完成了这个目标,但还没有在VS内完成。

在VS中使用详细的构建输出冗长度(工具->选项->项目和解决方案->构建和运行)可以显示将.NET中的众多DLL添加到csc.exe命令行中。也许,如果能够防止这种情况发生,一切都会好起来。一次失败的尝试是完全删除<TargetFramework>
也许在Visual Studio中注册一个“自定义框架”可以允许在csproj中使用自定义值,例如<TargetFramework>mydotnet</TargetFramework>
这只是猜测。
看起来MSBuild非常丰富,可以通过多种方式实现这样的事情。我完全愿意学习其中一种或多种技术,因为其中一种可能为未来的构建定制计划提供优势。
1个回答

1
如何在Visual Studio的C#项目中使用自定义框架而非.NET?
要在Visual Studio的C#项目中使用自定义框架而非.NET,您需要进行很多操作,例如注册框架、创建项目模板等。因此,您真的要编写自己的框架实现吗?如果您只想将自己的库添加到现有框架中,可以参考以下主题: 注册.NET Framework扩展 此外,还有一份关于如何在Visual Studio中添加自定义ASP.NET MVC测试框架的文档,您可以查看详细信息。

我发现这个问题只是想做到这一点。参考程序集中存在API定义级别的错误。与其践踏系统副本,我选择将构建指向自定义副本,以便解析框架实际上解析本地编译的副本。 - Joshua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接