71334


ブラウザを使えない環境でC#を使いたいと思っているのですが、Visual Studioを使わずに参照の追加をする方法がありますか。具体的にはMS
Wordの文字列を取得して処理したいと思っています。もしも、参照の追加を使わずにWordファイルを操作出来る方法があればそちらでも構いません。


CC BY-SA 4.0
2020-10-18T07:12:05.977
71300
2020-10-20T14:43:33.893
30174
question
c#
C#でVisual Studioを使わずに参照の追加がしたい


参照の追加は、まあ端的には  
<https://dobon.net/vb/dotnet/help/addreference.html>  
<https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-
options/reference-compiler-option>  
<https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-
options/lib-compiler-option>  
でもこの挙動を理解するには Visual Studio がないと困難かもしれないっス

コマンドプロンプト上でコンパイルするのに毎回コマンドラインを手で打つのはあり得ないし、であれば `MSBuild` とか `make`
とか支援ツールを導入する必要がありそうだし、それならば最初から Visual Studio
を入れちゃうほうが楽そうだし、ってことで。敢えていばらの道を進みたいなら止めませんけど、費用対効果が低すぎてお勧めできないっス。


CC BY-SA 4.0
2020-10-20T02:28:08.647
71334
2020-10-20T02:28:08.647
8589
71300
answer


774RRさん、ありがとうございます。ようやく明確なご意見が頂けました。Visual
Studioなり、MSBuildやmakeなどのツールを導入せずに参照の追加を実現しようとすると、余計な労力が必要になり効率的でないと言う事ですね。いずれも導入しようとするとインターネット接続やUSB接続は避けられませんものね。ご提示頂いたサイトは後ほどじっくり読み込みたいと思います。これまでのご意見を基に上に相談し、Visual
Studioをインストールする事への許可を貰えないかも含めて、対応策を考えて行きたいと思います。不快に思われた部分が多かったと思いますが、皆さんありがとうございました。でも、参照の追加が何をしているかについてはやはり気になりますので、私なりに調べてみたいと思います。


CC BY-SA 4.0
2020-10-20T14:01:34.190
71357
2020-10-20T14:20:06.067
2020-10-20T14:20:06.067
30174
30174
71300
answer


通常の参照の追加は774RRさんが挙げられた動作で、最終的にはコンパイルオプション `/lib` の指定に相当します。  
しかし、Wordには`/lib`で指定すべきDLLファイルが存在しません。そこを補うためにVisual
Studioでは「参照の追加」の操作をした際、内部で[`Tlbimp.exe`](https://docs.microsoft.com/ja-
jp/dotnet/framework/tools/tlbimp-exe-type-library-
importer)を実行してWordのタイプライブラリから.NETアセンブリを生成しています。  
「参照の仕組みが知りたい」なのではないかとコメントしたのは、このような情報を求めているか、求めているのであれば質問文に明記していただきたいという意図です。

`Tlbimp.exe`はVisual Studioに付属します。しかし、質問文の「Visual
Studioを使わずに」が曖昧だと指摘したのは、他のツール、例えばVisual Studio Codeのインストールは認められるのか？
もしくは`Tlbimp.exe`を含む[.NET SDK](https://dotnet.microsoft.com/download/visual-
studio-sdks)のインストールは認められるのか？ いずれも認められなくても別マシンで生成した.NETアセンブリを持ち込めるのか？
もしくはそれらを使わないアプローチでWordを制御したいのか等、手段はいくらでも考えられるため、目的を明確にする必要がありました。

* * *

>
> Sayuriさん、だから何度も申し上げている様に私が知りたいのはタイトルに記載した事です。それ以上でもそれ以下でもありません。知らないのであればコメントしなければいいのに…。

このサイトの最多回答者が知らないわけないでしょう。答えを導き出すために質問文を明確にすることを求めただけのことです。


CC BY-SA 4.0
2020-10-20T14:43:33.893
71359
2020-10-20T14:43:33.893
4236
71300
answer